普通权限管理
概述
linux一切皆文件,权限管理通过对文件权限来实现,文件的权限管理主要分为普通文件的权限管理和目录文件的权限管理。
对于普通文件,r,w,x 权限表达的意义:
- 如果一个普通文件有r权限,就表示该文件的内容可以被查看到。
- 如果一个普通文件有w权限,就表示该文件的内容可以被修改(增,删,改)。
- 如果一个普通文件有x权限,表示该文件可以当做脚本来执行。
对于目录文件,r,w,x权限表达的意义:
- 如果一个目录文件有r权限,就表示该目录下的文件可以被查看属性(可被ls命令查看)。
- 如果一个目录文件有r权限,能否查看目录下普通文件的内容不一定。一个普通文件能否被查看内容与它所在的目录没有任何关系,只与它自身的r权限有关。
- 如果一个目录有w权限,表示可以在该目录下创建或者删除或者修改文件属性。
- 如果一个目录有w权限,是否能修改这个目录的普通文件内容不一定。一个普通文件能否修改它的内容和它所在的目录没有任何关系,和它自身的w权限有关。
- 如果一个目录有x权限,就表示可以进入该目录,如果一个目录没有x权限,则无法进入该目录。一个目录没有x权限,能否在该目录下创建文件?可以。
如果一个目录没有执行权限,那么即使有r权限或者w权限,也表示该目录是一个问题目录。
对于目录来说,只有三类权限有意义:
- –:表示无任何权限
- r-x:表示有读权限
- rwx:表示有读写权限
一般来讲,owner的权限>group的权限>other的权限,注意:文件的owner不一定属于该文件的所属组。
命令详解
chmod命令
用于修改文件或目录的权限。
方式一:通过参数进行修改,参数包括"u"(用户)、“g”(群组)和"o"(其他人)。
例如:
chmod u=rwx,g=rwx,o=rwx test.txt
可以将test.txt的权限设置为"rwxrwxrwx";
chmod u+x test.txt
可以添加test.txt的owner的执行权限;
chmod u-x test.txt
可以删除test.txt的owner的执行权限。
方式二:
在Linux文件权限中,数字可以用来表示rwx权限的组合。每个rwx权限的值如下:
- r = 4
- w = 2
- x = 1
因此,数字表示的权限值为这三个数字的相加。例如:
- rwx = 4 + 2 + 1 = 7
- rw- = 4 + 2 = 6
- r-x = 4 + 1 = 5
对于一个文件,数字权限可以使用chmod命令进行设置。
例如,使用chmod 755 file.txt
将文件的权限设置为rwxr-xr-x(owner有读写执行权限,group和others有读和执行权限)。
umask命令
用于设置创建文件和目录的默认权限。umask缺省权限设置时,创建目录的缺省权限是777,创建普通文件的缺省权限是666。umask只看后三位,因此,创建目录的最终权限就是目录777减去umask的后3位,创建普通文件的最终权限就是666减去umask的后3位。umask能帮助用户修改创建文件的默认权限。用户可以通过修改/etc/bashrc或~/.bashrc来永久修改某个普通用户的umask缺省权限设置。