普通文件
r: 可以读取文件的内容
w: 可以修改文件的内容
x: 可以执行该文件 执行脚本(不要随便给文件加x权限)
目录文件
r: 用户可以列出目录下有哪些文件(不能查看文件的详细信息)
w: 只有w无意义。
x: 用户可以进入该目录(如果知道文件名,且有相对应的文件权限 ,可以执行对应的操作)
权限一般配合使用,不同权限配合有不同效果
rx: 用户可以进入目录,且可以长列出。
rw:等于只有r
wx: 能进入,能创建能删除,不能列出。故用户能否删除文件与文件自身权限无关。
rwx: 全部权限。
—:null
权限设置
chmod ugo+rwx
a=rwx
a=
u=….,g=…,o=…
X 当文件本身没有x权限时,则跳过,一般用于批量修改多个文件、目录的权限时,自动跳过没有执行权限的文件。
chmod -R a+x 所有文件目录加x
chmod a-x -R 所有文件目录减x
chmod a+X -R 只给目录加x
umask
root 的umask是022
非特权用户umask 是002
最大权限 777 666
umask 002 002
默认权限 775 664
当umask中全部是偶数时,可以直接减,当umask中包含奇数时,对于目录直接减,对于文件,在奇数所在的位减完后加一。
复制文件权限为什么变?
复制文件时,文件不存在就创建,存在覆盖,创建新文件基于最高权限减umask
复制文件基于原文件减umask
特殊权限
chmod u+s 4***
g+s 2***
o+t 1***
6 即有suig也有sgid
3 即有sgid也有sticky
5 即有suid也有sticky
7 all
特定权限
lsattr 查看特定属性
chattr
+i 不能删除不能改
+a 不能删除,只能追加
ACL权限
ACL是Access Control List的缩写,主要目的是提供传统的owner、group、others的read、write、execute权限之外的权限设置。ACL可以针对单一用户、单一文件或者目录进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助。
ACL权限判断的顺序
先判断是否是文件的OWNER,如果是,则执行OWNER的权限后结束,如果不是OWNER,则判断是否是ACL的USER,如果是则执行USER权限后结束,如果不是ACL的USER, 则判断是否属于GROUP或ACL GROUP,如果是,则取最大权限。如果不属于任何GROUP,则执行OTHER。
所有人->所有组->其他人
备份和恢复ACL
主要的文件操作命令cp和mv 都支持ACL只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息
目录文件,备份、删除、恢复
getfaacl fstab > acl.txt 把acl权限导出 最好用相对路径
setfacl -b fstab 清除所有的acl权限
setfacl -M acl.txt fstab 把备份的文件恢复到acl权限
原创文章,作者:jieran,如若转载,请注明出处:http://www.178linux.com/83355