1. 使用者与群组
(1). 档案拥有者
初次接触Linux的朋友大概会觉得很怪异,怎么『Linux有这么多使用者, 还分什么群组,有什么用?』。这个『用户与群组』的功能可是相当健全而好用的一个安全防护呢!怎么说呢? 由于Linux是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个『档案拥有者』的角色就显的相当的重要了!
例如当你将你的e-mail情书转存成档案之后,放在你自己的家目录,你总不希望被其他人看见自己的情书吧? 这个时候,你就把该档案设定成『只有档案拥有者,就是我,才能看不修改这个档案的内容』, 那么即使其他人知道你有这个相当『有趣』的档案,不过由于你有设定适当的权限, 所以其他人自然也就无法知道该档案的内容啰!
(2). 群组概念
那么群组呢?为何要配置文件案还有所属的群组?其实,群组最有用的功能之一,就是当你在团队开发资源的时候啦! 举例来说,假设有两组专题生在我的主机里面,第一个与题组别为projecta,里面的成员有 class1, class2, class3三个;第二个与题组别为projectb,里面的成员有class4, class5, class6。 这两个专题之间是有竞争性质的,但却要缴交同一份报告。每组的组员之间必须要能够互相修改对方的数据, 但是其他组的组员则不能看到本组自己的档案内容,此时该如何是好?
在Linux底下这样的限制是很简单啦!我可以经由简易的档案权限设定,就能限制非自己团队(亦即是群组啰) 的其他人不能够阅览内容啰!而且亦可以让自己的团队成员可以修改我所建立的档案! 同时,如果我自己还有私人隐密的文件,仍然可以设定成让自己的团队成员也看不到我的档案数据。 很方便吧!
另外,如果teacher这个账号是projecta与projectb这两个专题的老师, 他想要同时观察两者的进度,因此需要能够进入这两个群组的权限时,你可以设定teacher这个账号, 『同时支持projecta与projectb这两个群组!』,也就是说:每个账号都可以有多个群组的支持呢!
(3). 其他人概念
好了,那么今天又有个人,叫做张小猪,他是张小猪家的人,与王家没有关系啦! 这个时候,除非王家认识张小猪,然后开门让张小猪进来王家,否则张小猪永远没有办法进入王家, 更不要说进到王三毛的房间啦!不过,如果张小猪透过关系认识了三毛,并且跟王三毛成为好朋友, 那么张小猪就可以透过三毛进入王家啦!呵呵!没错!那个张小猪就是所谓的『其他人,Others』啰!
因此,我们就可以知道啦,在Linux里面,任何一个档案都具有『User, Group及Others』三种身份的个别权限
- (4). Linux用户身份与群组记录的档案
在我们Linux系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个档案内的。至于个人的密码则是记录在/etc/shadow这个档案下。 此外,Linux所有的组名都纪录在/etc/group内!这三个档案可以说是Linux系统里面账号、密码、群组信息的集中地啰! 不要随便删除这三个档案啊! ^_^
2. Linux档案权限概念
2.1 Linux文件属性
在你以root的身份登入Linux之后,下达『 ls -al 』看看,会看到底下的几个咚咚: ![这里写图片描述](https://img-blog.csdn.net/20150412152126125) ls是『list』的意思,重点在显示档案的文件名与相关属性。而选项『-al』则表示列出所有的档案详细的权限与属性 (包括隐藏文件,就是文件名第一个字符为『 . 』的档案)。 文件属性的示意图如下: ![这里写图片描述](https://img-blog.csdn.net/20150412153332403) ***(1). 第一栏代表这个档案的类型与权限*** 这一栏其实共有十个字符:(如下图档案的类型与权限之内容) ![这里写图片描述](https://img-blog.csdn.net/20150412154249184)- 第一个字符代表这个档案是『目录、档案或链接文件等等』:
- 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
- 当为[ - ]则是档案,例如上表档名为『install.log』那一行;
- 若是[ l ]则表示为连结档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
- 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
- 第一组为『档案拥有者的权限』;
- 第二组为『同群组的权限』;
- 第三组为『其他非本群组的权限』。
(2). 第二栏表示有多少档名连结到此节点(i-node)
每个档案都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个档名就会连结到一个i-node啰!这个属性记录的,就是有多少不同的档名连结到相同的一个i-node号码去就是了。
(3). 第三栏表示这个档案(戒目彔)的『拥有者账号』