文件的一般权限
每个文件针对每类访问者定义了三种主要权限:
r:read 读
w:write 写
x:execute 执行
所属者/组/其他用户权限的字符表示 | 二进制表示 | 八进制表示 |
--- | 000 | 0 |
--x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r-- | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
权限 | 文件 | 目录 |
r | 可以读取文件的内容 | 可以列出目录的内容,即目录下的文件的文件名 |
w | 可以更改文件的内容 | 可以创建或删除目录中的任一文件,需要和x权限一起使用 |
x | 可以作为可执行文件 | 可以切换到目录 |
文件可能出现的权限:---、r--、r-x、rw-、rwx
目录可能出现的权限:---、r-x、rwx
修改权限
语法:
chmod 646 文件
chmod o=r-- 文件
chmod o+w 文件
常用选项:-R
递归修改该目录下的文件的所有权限
chmod -R 目录
修改文件所属主或者组:
chown [选项] 新属主[:[新属组]] 文件或目录
chown -R dhh file #改变所属主
chown -R :dhh file #改变所属组
chown -R dhh:dhh file #改变所属主和组
修改所属组:chgrp [选项] 新属组 文件或目录
chgrp -R dhh file
ACL权限
ACL权限分配:给指定的用户指定目录分配指定的权限。
查看ACL权限:getfacl 文件名
getfacl test
设定ACL权限:setfacle 选项 文件名
选项 | 作用 |
-m | 设定ACL权限 |
-x | 删除指定权限 |
-b | 删除所有权限 |
-R | 递归设定ACL权限 |
setfacl -m u:zhangsan:r-x /test/
若是给予用户权限:u:用户:权限
若是给予组权限: g:组:权限
删除ACL权限
#删除指定用户的ACL权限
setfacl -x u:用户名 文件名
#删除指定用户组的ACL权限
setfacl -x g:组名 文件名
#删除文件的所有ACL权限
setfacl -b 文件名
权限掩码umask
在
Linux
系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该 默认权限与umask
值有关,其具体关系是:
例如权限掩码为0022,
新建文件的默认权限
=0666-umask
值
新建文件的权限为644(6-0,6-2,6-2)
新建目录的默认权限
=0777-umask
值
新建目录的权限为755(7-0,7-2,7-2)
查看权限掩码:umask
修改权限掩码:umask 000(新掩码)