经过第五章的洗礼之后,你应该可以在Linux的指令列模式底下输入指令了吧?
接下来,当然是要让你好好的浏览一下Linux系统里面有哪些重要的文件啰。
不过,每个文件都有相当多的属性与权限,其中最重要的可能就是文件的拥有者的概念了。
所以,在开始文件相关信息的介绍前,鸟哥先就简单的(1)使用者及(2)群组与(3)非本群组外的其他人等概念作个说明吧~
好让你快点进入状况的哩! ^_^
- 文件拥有者
初次接触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』三种身份的个别权限,
我们可以将上面的说明以底下的图示来解释:
图1.1、每个文件的拥有者、群组与其他人的示意图
我们以王三毛为例,王三毛这个『文件』的拥有者为王三毛,他属于王大毛这个群组,
而张小猪相对于王三毛,则只是一个『其他人(others)』而已。
不过,这里有个特殊的人物要来介绍的,那就是『万能的天神』!这个天神具有无限的神力,
所以他可以到达任何他想要去的地方,呵呵!那个人在Linux系统中的身份代号是『 root 』啦!所以要小心喔!那个root可是『万能的天神』喔!
无论如何,『使用者身份』,与该使用者所支持的『群组』概念,在Linux的世界里面是相当的重要的,
他可以帮助你让你的多任务Linux环境变的更容易管理!更详细的
『身份与群组』 设定,我们将在第十四章、账号管理再进行解说。
底下我们将针对文件系统与文件权限来进行说明。
在我们Linux系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息,
都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。
此外,Linux所有的组名都纪录在/etc/group内!这三个文件可以说是Linux系统里面账号、密码、群组信息的集中地啰!
不要随便删除这三个文件啊! ^_^
至于更多的与账号群组有关的设定,还有这三个文件的格式,不要急,我们在第十四章的账号管理时,会再跟大家详细的介绍的!这里先有概念即可。