Linux——使用者与群组

文件拥有者

初次接触 Linux 的朋友大概会觉得很怪异,怎么『Linux 有这么多使用者, 还分什么群组,有什么用?』。这个『用户与群组』的功能可是相当健全而好用的一个安全防护呢!怎么说呢? 由于 Linux 是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个『文件拥有者』的角色就显的相当的重要了!

例如当你将你的e-mail 情书转存成文件之后,放在你自己的家目录,你总不希望被其他人看见自己的情书吧? 这个时候,你就把该文件设定成『只有文件拥有者,就是我,才能看与修改这个文件的内容』, 那么即使其他人知道你有这个相当『有趣』的文件,不过由于你有设定适当的权限, 所以其他人自然也就无法知道该文件的内容啰!

群组概念

那么群组呢?为何要配置文件案还有所属的群组?其实,群组最有用的功能之一,就是当你在团队开发资源的时候啦! 举例来说,假设有两组专题生在我的主机里面,第一个专题组别为 projecta,里面的成员有class1, class2, class3 三个;第二个专题组别为 projectb,里面的成员有 class4, class5, class6。 这两个专题之间是有竞争性质的,但却要缴交同一份报告。每组的组员之间必须要能够互相修改对方的数据, 但是其他组的组员则不能看到本组自己的文件内容,此时该如何是好?

Linux 底下这样的限制是很简单啦!我可以经由简易的文件权限设定,就能限制非自己团队(亦即是群组啰) 的其他人不能够阅览内容啰!而且亦可以让自己的团队成员可以修改我所建立的文件! 同时,如果我自己还有私人隐密的文件,仍然可以设定成让自己的团队成员也看不到我的文件数据。 很方便吧!

另外,如果 teacher 这个账号是 projecta projectb 这两个专题的老师, 他想要同时观察两者的进度,因此需要能够进入这两个群组的权限时,你可以设定 teacher 这个账号, 『同时支持 projecta projectb 这两个群组!』,也就是说:每个账号都可以有多个群组的支持呢

这样说或许你还不容易理解这个使用者与群组的关系吧?没关系,我们可以使用目前『家庭』的观念来进行解说喔! 假设有一家人,家里只有三兄弟,分别是王大毛、王二毛与王三毛三个人, 而这个家庭是登记在王大毛的名下的!所以,『王大毛家有三个人,分别是王大毛、王二毛与王三毛』, 而且这三个人都有自己的房间,并且共同拥有一个客厅喔!

  • 使用者的意义:由于王家三人各自拥有自己的房间,所以, 王二毛虽然可以进入王三毛的房间, 但是二毛不能翻三毛的抽屉喔!那样会被三毛 K 的! 因为抽屉里面可能有三毛自己私人的东西, 例如情书啦,日记啦等等的,这是『私人的空间』,所以当然不能让二毛拿啰!
  • 群组的概念:由于共同拥有客厅,所以王家三兄弟可以在客厅打开电视机啦、 翻阅报纸啦、坐在沙发上面发呆啦等等的! 反正,只要是在客厅的玩意儿,三兄弟都可以使用喔! 因为大家都是一家人嘛!

这样说来应该有点晓得了喔!那个『王大毛家』就是所谓的『群组』啰, 至于三兄弟就是分别为三个『使用者』,而这三个使用者是在同一个群组里面的喔! 而三个使用者虽然在同一群组内,但是我们可以设定『权限』, 好让某些用户个人的信息不被群组的拥有者查询,以保有个人『私人的空间』啦! 而设定群组共享,则可让大家共同分享喔!

其他人的概念

好了,那么今天又有个人,叫做张小猪,他是张小猪家的人,与王家没有关系啦! 这个时候,除非王家认识张小猪,然后开门让张小猪进来王家,否则张小猪永远没有办法进入王家, 更不要说进到王三毛的房间啦!不过,如果张小猪透过关系认识了三毛,并且跟王三毛成为好朋友, 那么张小猪就可以透过三毛进入王家啦!呵呵!没错!那个张小猪就是所谓的『其他人,Others』啰!

因此,我们就可以知道啦,在 Linux 里面,任何一个文件都具有『User, Group Others』三种身份的个别权限, 我们可以将上面的说明以底下的图示来解释:

我们以王三毛为例,王三毛这个『文件』的拥有者为王三毛,他属于王大毛这个群组, 而张小猪相对于王三毛,则只是一个『其他人(others)』而已。

不过,这里有个特殊的人物要来介绍的,那就是『万能的天神』!这个天神具有无限的神力, 所以他可以到达任何他想要去的地方,呵呵!那个人在Linux 系统中的身份代号是『 root 』啦!所以要小心喔!那个root 可是『万能的天神』喔!

无论如何,『使用者身份』,与该使用者所支持的『群组』概念,在 Linux 的世界里面是相当的重要的, 他可以帮助你让你的多任务Linux 环境变的更容易管理!

Tips现在 (2015 年) 鸟哥常以台湾地区常见的社群网站 Facebook  或者是 Google+ 作为解释:

  1. 你在 FB 注册一个账号,这个账号可以迭代对比为 Linux 的账号。
  2. 你可以新增一个社团,这个社团的隐私权是可以由您自己指定的!看是要公开还是要隐藏。这就可以迭代为 Linux 的群组概念,这个群组的权限可以自己设定。
  3. 那么其他在 FB 注册的人,没有加入你的社团,他就是 Linux 上所谓的『其他人』!最后,在 FB 上面的每一条留言,就可以想成 Linux 底下的『文件』啰!

那么上面内文谈到的群组有啥帮助呢?想想看,你在 FB 上面,你的 StudyArea 社团是隐藏的,你想让 dmtsai 可以进来读取每一个留言 (想成是 file), 最简单的作法是什么?对!让 dmstai 加入这个社团即可!没错!只要让 Linux 某个账号加入某个群组,该账号就可以使用该群组能够存取的资源! 每个账号可以加入的群组个数基本上是没有限制的!

Linux 用户身份与群组记录的文件

在我们 Linux 系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有那个 root 的相关信息,都是记录在/etc/passwd 这个文件内的。至于个人的密码则是记录在/etc/shadow 这个文件下。此外,Linux 所有的组名都纪录在/etc/group 内!这三个文件可以说是 Linux 系统里面账号、密码、群组信息的集中地啰! 不要随便删除这三个文件啊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章