5.1 使用者与群组
最后更新于:2022-04-01 22:11:13
## 5.1 使用者与群组
经过[第四章](../Text/index.html)的洗礼之后,你应该可以在Linux的命令行界面下面输入指令了吧? 接下来,当然是要让你好好的浏览一下Linux系统里面有哪些重要的文件啰。 不过,每个文件都有相当多的属性与权限,其中最重要的可能就是文件的拥有者的概念了。 所以,在开始文件相关信息的介绍前,鸟哥先就简单的(1)使用者及(2)群组与(3)非本群组外的其他人等概念作个说明吧~ 好让你快点进入状况的哩! ^_^
1. 文件拥有者
初次接触Linux的朋友大概会觉得很怪异,怎么“Linux有这么多使用者, 还分什么群组,有什么用?”。这个“使用者与群组”的功能可是相当健全而好用的一个安全防护呢!怎么说呢? 由于Linux是个多用户多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个“文件拥有者”的角色就显的相当的重要了!
例如当你将你的e-mail情书转存成文件之后,放在你自己的主文件夹,你总不希望被其他人看见自己的情书吧? 这个时候,你就把该文件设置成“只有文件拥有者,就是我,才能看与修改这个文件的内容”, 那么即使其他人知道你有这个相当“有趣”的文件,不过由于你有设置适当的权限, 所以其他人自然也就无法知道该文件的内容啰!
2. 群组概念
那么群组呢?为何要设置文件还有所属的群组?其实,群组最有用的功能之一,就是当你在团队开发资源的时候啦! 举例来说,假设有两组专题生在我的主机里面,第一个专题组别为projecta,里面的成员有 class1, class2, class3三个;第二个专题组别为projectb,里面的成员有class4, class5, class6。 这两个专题之间是有竞争性质的,但却要缴交同一份报告。每组的组员之间必须要能够互相修改对方的数据, 但是其他组的组员则不能看到本组自己的文件内容,此时该如何是好?
在Linux下面这样的限制是很简单啦!我可以经由简易的文件权限设置,就能限制非自己团队(亦即是群组啰) 的其他人不能够阅览内容啰!而且亦可以让自己的团队成员可以修改我所创建的文件! 同时,如果我自己还有私人隐密的文件,仍然可以设置成让自己的团队成员也看不到我的文件数据。 很方便吧!
另外,如果teacher这个帐号是projecta与projectb这两个专题的老师, 他想要同时观察两者的进度,因此需要能够进入这两个群组的权限时,你可以设置teacher这个帐号, “同时支持projecta与projectb这两个群组!”,也就是说:每个帐号都可以有多个群组的支持呢!
这样说或许你还不容易理解这个使用者与群组的关系吧?没关系,我们可以使用目前“家庭”的观念来进行解说喔! 假设有一家人,家里只有三兄弟,分别是王大毛、王二毛与王三毛三个人, 而这个家庭是登记在王大毛的名下的!所以,“王大毛家有三个人,分别是王大毛、王二毛与王三毛”, 而且这三个人都有自己的房间,并且共同拥有一个客厅喔!
* 使用者的意义:由于王家三人各自拥有自己的房间,所以, 王二毛虽然可以进入王三毛的房间,但是二毛不能翻三毛的抽屉喔!那样会被三毛K的! 因为抽屉里面可能有三毛自己私人的东西,例如情书啦,日记啦等等的,这是“私人的空间”,所以当然不能让二毛拿啰!
* 群组的概念:由于共同拥有客厅,所以王家三兄弟可以在客厅打开电视机啦、 翻阅报纸啦、坐在沙发上面发呆啦等等的! 反正,只要是在客厅的玩意儿,三兄弟都可以使用喔! 因为大家都是一家人嘛!
这样说来应该有点晓得了喔!那个“王大毛家”就是所谓的“群组”啰, 至于三兄弟就是分别为三个“使用者”,而这三个使用者是在同一个群组里面的喔! 而三个使用者虽然在同一群组内,但是我们可以设置“权限”, 好让某些使用者个人的信息不被群组的拥有者查询,以保有个人“私人的空间”啦! 而设置群组共享,则可让大家共同分享喔!
3. 其他人的概念
好了,那么今天又有个人,叫做张小猪,他是张小猪家的人,与王家没有关系啦! 这个时候,除非王家认识张小猪,然后开门让张小猪进来王家,否则张小猪永远没有办法进入王家, 更不要说进到王三毛的房间啦!不过,如果张小猪通过关系认识了三毛,并且跟王三毛成为好朋友, 那么张小猪就可以通过三毛进入王家啦!呵呵!没错!那个张小猪就是所谓的“其他人,Others”啰!
因此,我们就可以知道啦,在Linux里面,任何一个文件都具有“User, Group及Others”三种身份的个别权限, 我们可以将上面的说明以下面的图示来解释:
![每个文件的拥有者、群组与 others 的示意图](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-13_5735737216e7f.jpg)图5.1.1、每个文件的拥有者、群组与 others 的示意图我们以王三毛为例,王三毛这个“文件”的拥有者为王三毛,他属于王大毛这个群组, 而张小猪相对于王三毛,则只是一个“其他人(others)”而已。
不过,这里有个特殊的人物要来介绍的,那就是“万能的天神”!这个天神具有无限的神力, 所以他可以到达任何他想要去的地方,呵呵!那个人在Linux系统中的身份代号是“ root ”啦!所以要小心喔!那个root可是“万能的天神”喔!
无论如何,“使用者身份”,与该使用者所支持的“群组”概念,在Linux的世界里面是相当的重要的, 他可以帮助你让你的多任务Linux环境变的更容易管理!更详细的 “身份与群组” 设置,我们将在[第十三章、帐号管理](../Text/index.html)再进行解说。 下面我们将针对文件系统与文件权限来进行说明。
![鸟哥的图示](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-13_5735736501917.gif "鸟哥的图示")
**Tips** 现在 (2015年) 鸟哥常以台湾地区常见的社群网站 Facebook 或者是 Google+ 作为解释。(1)你在 FB 注册一个帐号,这个帐号可以叠代对比为 Linux 的帐号, (2)你可以新增一个社团,这个社团的隐私权是可以由您自己指定的!看是要公开还是要隐藏。这就可以叠代为 Linux 的群组概念,这个群组的权限可以自己设置。 (3)那么其他在 FB 注册的人,没有加入你的社团,他就是 Linux 上所谓的“其他人”!最后,在 FB 上面的每一条留言,就可以想成 Linux 下面的“文件”啰!
![鸟哥的图示](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-13_5735736501917.gif "鸟哥的图示")
**Tips** 那么上面内文谈到的群组有啥帮助呢?想想看,你在 FB 上面,你的 StudyArea 社团是隐藏的,你想让 dmtsai 可以进来读取每一个留言 (想成是 file), 最简单的作法是什么?对!让 dmstai 加入这个社团即可!没错!只要让 Linux 某个帐号加入某个群组,该帐号就可以使用该群组能够存取的资源! 每个帐号可以加入的群组个数基本上是没有限制的!
* Linux 使用者身份与群组记录的文件
在我们Linux系统当中,默认的情况下,所有的系统上的帐号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的群组名称都纪录在/etc/group内!这三个文件可以说是Linux系统里面帐号、密码、群组信息的集中地啰! 不要随便删除这三个文件啊! ^_^
至于更多的与帐号群组有关的设置,还有这三个文件的格式,不要急,我们在[第十三章的帐号管理](../Text/index.html)时,会再跟大家详细的介绍的!这里先有概念即可。
';