Linux文件权限
文件权限介绍
Linux文件权限有三种:
权限 | 对应字符 |
---|---|
可读(read) | r |
可写(write) | w |
可执行(execute) | x |
文件权限身份也有三种:
权限身份 | 对应字符 |
---|---|
文件所有者(user) | u |
文件所有者所在组(group) | g |
其他(other),即除了文件所有者和其所在组的用户 | o |
文件权限字段:
共10个字符(1+3+3+3)
- 第一个字段(1个字符):描述文件或目录类型。如果为’
-
'则表示这是一个文件,如果为’d
’表示这是一个目录 - 第二个字段(3个字符):按照顺序描述了文件所有者对该文件的可读、可写和可执行权限
- 第三个字段(3个字符):按照顺序描述了文件所有者所在组对该文件的可读、可写和可执行权限
- 第四个字段(3个字符):按照顺序描述了其他身份对该文件的可读、可写和可执行权限
对于后三个字段,r
表示可读,w
表示可写,x
表示可执行,-
表示无对应权限
查看文件权限
使用ls -l
命令查看当前文件夹下所有文件(一般终端会打包为命令ll
):
配合使用grep
命令可以查看某一个文件的权限:
修改文件权限
使用chmod
指令,常用2种使用方式:
1、chmod abc filename
指令中的a、b、c分别表示一个数字,其中a对应文件所有者权限,b对应文件所有者所在组权限,c对应其他身份权限。
对于a、b、c各自来讲,它们都是0~7的数字,对应r、w、x三个二进制位按序组成的二进制数,如果要赋予某用户组某权限,则该用户组对应的某权限位的二进制应该置1
举个例子,如果是只可读,对应的二进制数就是“100”,也就是4;如果是可读可写不可执行,那么对应二进制数为“110”,也就是6
如果要修改的权限是"rwx",则abc的值是 ( 111 ) 2 (111)_2 (111)2,即 ( 7 ) 10 (7)_{10} (7)10
示例:增加README文件的x权限,使其成为可执行文件,命令如下:
chmod 777 README
2、chmod u/g/o/a +/- r/w/x filename
-
u/g/o/a:描述文件权限身份。
u
表示文件所有者、g
表示文件所有者所在组、o
表示其他用户、a
表示三者全部。可以搭配使用,如ug表示文件所有者及其所在组; -
+/-:指定权限配置行为。‘
+
’表示添加权限,‘-
’表示删除权限; -
权限类型。分别对于可读可写可执行。
r
表示可读,w
表示可写,x
表示可执行
示例:删除README文件所有者的可执行权限(u-x),增加其文件所有者所在组和其他身份的可写和可执行权限(go+wx),命令如下:
chmod u-w,go+wx READM #注意不要有多余的空格,中间使用","分隔