标签:自己的 acl 控制 符号 三种方式 root 创建文件 查看 设置
Linux的权限管理:实现资源的分派每个文件都对访问者定义了一种权限
对于文件来说
- r:读权限
- w:写权限
- x:执行权限
对于目录来说- r:可以查看目录中的文件列表
- w:可以在目录中创建文件
- x:可以进入该目录
权限对应的数字表示方式- r:4
- w:2
- x:1
修改权限的三种方式:
- 数字格式
chmod 640 文件或目录 :对应的权限 rw-r------ 直接指明权限
chmod (u,g,o)=(r,w,x)修改文件的属主或属组
-R选项:对目录使用-R选项的时候,目录中的所有文件也会被修改属组或属主
修改文件或目录的属组:chgrp [-R] groupname 文件或目录
文件或目录创建时的默认权限
文件:权限=666-umask
目录:权限=777-umask特殊权限
设置:chmod u[+|-]s 文件
设置:chmod g[+|-]s 文件或目录
设置:chmod o[+|-]t 目录
注意:以上的所有权限,都只是针对于普通用户才会生效,对于root用户而言无效
设置文件的特定权限:(对root用户也会生效)
- 使文件不能删除、重命名或更改:chattr +i filename
上述的权限只能是针对某些用户设定,要想针对某个用户设置特定的权限,就要用到ACL
- setfacl命令的用法:
- 选项:
- -m, --modify-acl 更改文件的访问控制列表
- -M, --modify-file=file 从文件读取访问控制列表条目进行更改
- -x, --remove=acl 根据文件中访问控制列表移除条目
setfacl -x u:tank test #清除tank用户,对test文件acl规则- -X, --remove-file=file 从文件读取访问控制列表条目并删除
- -b, --remove-all 删除所有扩展访问控制列表条目
setfacl -b test #清除所有acl- -k, --remove-default 移除默认访问控制列表
--set=acl 设定替换当前的文件访问控制列表
--set-file=file 从文件中读取访问控制列表条目设定
--mask 重新计算有效权限掩码- -n, --no-mask 不重新计算有效权限掩码
- -d, --default 应用到默认访问控制列表的操作
- -R, --recursive 递归操作子目录
- -L, --logical 依照系统逻辑,跟随符号链接
- -P, --physical 依照自然逻辑,不跟随符号链接
--restore=file 恢复访问控制列表,和“getfacl -R”作用相反
--test 测试模式,并不真正修改访问控制列表属性- -v, --version 显示版本并退出
- -h, --help 显示本帮助信息
- 备份和恢复ACL
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息getfacl -R /tmp/dir1 > acl.txt setfacl -R -b /tmp/dir1 setfacl -R --set-file=acl.txt /tmp/dir1 setfacl --restore acl.txt getfacl -R /tmp/dir1
标签:自己的 acl 控制 符号 三种方式 root 创建文件 查看 设置
原文地址:https://blog.51cto.com/13408885/2394687