关于Linux文件的权限,一般使用chown、chmod等命令调整所有者、所属组、权限等,但由于简单,在此不进行说明。
讨论困难的权限因素,如umask、suid、guid、bit、chattr和acl
、umask
Linux系统的默认目录最大权限777
Linux系统默认文件的最大权限为666
每个用户都有umask/etc/profile~~.profile~~/base _ profile
例如
用户umask 002
目录: 777-002=775 rwxrwxr-x
文件: 666-002=664 rw-rw-r—
用户umask 020
目录: 777-020=757 rwxr-xrwx
文件: 666-020=646 rw-r—rw-
、suid s权限属性出现在文件所有者的执行权限位中
仅对于二进制文件(命令),如果文件设置了执行权限和suid属性,则所有
运行文件的用户使用文件的所有者权限,而不是执行用户的权限
将显示结果。 未设置rws读/写执行suid rwS读/写文件的执行权限,并且未启用suig
chmod us/tmp/AAA chmod 4775/tmp/AAA
、sgid s权限属性出现在目录或文件所属组的执行权限位
二进制文件。 在运行时使用文件所有者的组权限。 前提是文件的所有者和组都具有执行权限
目录,用户具有该目录的rx权限。 用户在此目录下的有效组权限是该目录的所有权权限。
例如,对于在此目录中创建的文件或目录,组属性是目录的组属性,而不是执行者的组属性
chmod GS/tmp/AAA chmod 2775/tmp/AAA
、sbit只面向目录,用户在此目录下创建的目录和文件只有自己或root
可以删除
chmod ot/tmp/AAA chmod 1775/tmp/AAA
、隐藏权限chattr lsattr
chattr -=a只能添加,不能删除内容
I无法删除、改名、新增、写入(即使连接文件也不行)、
显示lsattr -a隐藏属性
-r递归到目录
-d目录本身(如果参数是目录)
acl权限在/etc/fstab中加载ACL选项支持
setfacl -m设置setfacl u:user1:rw file1
-删除xsetfaclu :用户1: wfile 1
-b删除所有ACL参数
-R递归
-k删除默认参数
-d默认参数,仅限目录
表示getfacl file1 9的9个权限位之后是,并且该文件具有ACL参数