Linux对文件的权限管理
一:如何查看文件的权限
1) 使用ls –l命令查看文件上所设定的权限
权限信息 硬连接数 属主 属组 文件大小 文件创建日期 文件名
2) ls –l命令的显示结果中的第一列(权限信息)分成4组,其中;
a) 第1个字符为第1组,文件类型:(-)代表这是一个文件(普通文件),(d)代表这是一个目录,(l)代表软连接,(b)代表设备文件,(p)代表管道文件,也可以是其他资源。
b) 第2、3、4个字符为第2组,属主的权限:定义了文件或目录的所有者(owner)所具有的权限,使用u代表所有者(owner)对文件的所有权限。
c) 第5、6、7个字符为第3组,属组的权限:定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。
d) 第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用户对文件或目录所具有的权限。使用o代表这一组(other)权限。
ps: 第11位的点 ‘.’ 是selinux开启情况下创建的,安全加强
3) ls –l命令的显示结果中的第三列、第四列为文件的属主和属组。
二: root用户及文件的安全控制
1) root用户的定义:root用户也称为超级用户,它可以完全不受限制地访问任何用户的账户和所有文件及目录。
2) Linux系统中用户分类:
Linux系统是将系统中的所有用户分成了3类:
a) 第1类:所有者
b) 第2类:同组用户(修正:所属组,因为你创建一个用户的过程会以为这个用户名为名字创建一个同名的组)
c) 第3类:非同组的其他用户
3) 文件/目录操作权限包括读(read)、写(write)和执行(execute)
4) Linux操作系统在显示权限时,使用如下4个字符来表示文件/目录操作权限:
a) r:表示read权限
针对文件:可以阅读文件
针对目录:ls命令列出目录的子文件名、子目录名。
b) w:表示write权限
针对文件:可以编辑文件
针对目录:在一个目录内创建和删除文件或重命名
ps(针对目录,要能cd进入才可创建删除重命名,故w权限的前提是cd进入,即x权限)
c) x:表示execute权限
针对文件:可以执行程序
针对目录:使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容。
d) -:表示没有相应的权限(与所在位置的r、w或x相对应)。
三:使用chown修改文件的属主
chown 属主:属组 文件/目录
chown :属组 文件/目录
chown 属主 文件/目录
chown -R 递归修改
a) 例如,修改文件file1的属主为root的命令为:chown root file1
四:使用chgrp修改文件的属组
chgrp 属组 文件
a) 例如,修改文件file1的属组为wg的命令为:chgrp wg file1
五:使用符号法设定文件或目录上的权限
1) chmod命令的功能:设定或更改文件或目录上的权限。【PS:只有文件的属主和root可以更改文件的权限,并且不受权限的影响】
2) -R选项:不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。
3) 是符号表示法的定义:
符号表示法是使用几个特定的符号来设定权限的状态。
4) 权限状态可以分为3个部分:
a) 第1个部分,表示要设定或更改谁的权限状态。其中的具体表示如下:
u:表示所有者(owner)的权限。
g:表示群组(group)的权限。
o:表示既不是owner也不与owner在同一个group的其他用户(other)的权限。
a:表示以上3组,也就是所有用户(all)的权限。
b) 第2部分,是运算符(operator),也有人称为操作符,其中的具体表示如下:
+:表示加入权限
-:表示去掉权限
=:表示设定权限
c) 第3部分,表示权限(permission),其中的具体表示如下:
r:表示read(读)权限。
w:表示write(写)权限。
X:表示execut(执行)权限。
5) 符号表示法设定或更改文件或目录上的权限:
a) 例如:在a文件上添加所有者和同组用户的可执行权限的命令:
chmod ug+x a
b) 例如:在b目录上为其他用户添加写权限的命令:
chmod o+w b 或chmod o=w b
六:使用数字表示法设定文件或目录上的权限
1) 数字表示法的定义:
数字表示法是指使用一组三位数的数字来表示文件或目录上的权限状态。其中:
第1个数字代表所有者(owner)的权限(u)。
第2个数字代表群组(group)的权限(g)。
第3个数字代表其他用户(other)的权限(o)。
2) 数字代表的资源权限状态:
4:表示具有读(read)权限。
2:表示具有写(write)权限。
1:表示具有执行(execute)权限。
0:表示没有相应的权限。
3) 数字法表示法设定或更改文件或目录上的权限:
a) 例如:使用数字表示法对owner开放/home/dog/babydog目录和其中所有文件的一切权限,但是对同组用户开放读和执行权限,而对其他用户只开放读权限的命令:
chmod -R 754 /home/dog/babydog