之前我们用chmod,chown,chgrp修改权限,但是这个权限范围比较广,假如说我们需要给某个特定用户添加一定的权限但是又不想修改该用户所在的组中其他用户的权限,该怎么办?face 高级文件权限管
之前我们用chmod,chown,chgrp修改权限,但是这个权限范围比较广,假如说我们需要给某个特定用户添加一定的权限但是又不想修改该用户所在的组中其他用户的权限,该怎么办?face 高级文件权限管理可以办到。
1 getfacl
getfacl 1.txt 查看文件1.txt 的附加权限
[up17@iZ28dns5aezZ ~]$ getfacl 1.txt
# file: 1.txt
# owner: up17
# group: up17
user::rw-
group::rw-
other::r--
上面的user 拥有者权限,group 组的权限,other 其他权限
2 setfacl
在1的基础上给某个用户添加附加权限
setfacl -m u:up16:r 1.txt
up17@iZ28dns5aezZ ~]$ getfacl 1.txt
# file: 1.txt
# owner: up17
# group: up17
user::rw-
user:up16:r--
group::rw-
mask::rw-
other::r--
上面的user:up16:r-- 就是给用户up16的附加读权限
setfacl -x u:up16: 1.txt 删除文件1.txt给用户up16的附加权限
setfacl -m g 给组添加附加权限
setfacl -m d 给目录添加默认权限,注意:默认权限是可以在目录下继承的
setfacl -m m 给文件修改最高权限mask
setfacl -x u 删除用户附加权限
setfacl -x g 删除组附加权限
setfacl -x m 删除mast最高权限
setfacl -k 删除默认权限
3 lsattr
查看文件拥有的超级权限
lsattr 1.txt 查看文件或目录的超级权限位
4 chattr
chattr +i 设定文件不能被删除、改名,同时不能写入或新增内容
chattr +a 设定文件只能被追加不能修改(echo `sdhjs` >> 1)
关于i和a对于文件和目录的作用:
i:文件不能被删除、改名,同时不> 能写入或新增内容
目录:目录中不能创建文件,修改文件名,不能删除文件
a:文件 设定文件只能被追加不能修改
目录 可以创建文件,但不能删除或重命名文件