Linux基础5
一、权限的归属、附加与掩码,修复用户家目录
访问权限(基本权限)
读取:r(read) 4
写入:w(write) 2
可执行:x(ex) 1
> eg:rwx,r-x,r-x=755
附加权限
t或T(取决于o是否有执行权限) 1
chmod o+t [目录]
> 粘滞位,Sticky Bit权限会占用其他人(other)的x权限,且只适用于目录,用来限制用户滥用写入权删除其他用户的文件
s或S(取决于g是否有执行权限) 2
chmod g+s [目录] 赋予SGID特殊权限
> Set GID权限会占用所属组(group)的x权限,只适用于目录,新建的文档会自动继承父目录的属组身份
s或S(取决于u是否有执行权限) 4
chmod u+s [程序]
> Set UID权限会占用所有者(user)的x权限,适用于程序,带有SUID标记的程序被其他用户执行时,会赋予执行用户具有属主相应的身份和权限
> eg:chmod 3755 [目录] 3代表附加权限(SGID与SB)的求和
归属关系
所有者:u(user)
所属组:g(group)
其他人:o(other)除所有者、所属组以外的用户
所有人(隐藏):a(all)
> 权限优先级:所有者>所属组>其他人,原则匹配即停止
>
> 默认一个所有者一个所属组,所有者没有附加组默认是基本组
>
> d目录/-文件/l快捷方式、所有者的权限、所属组的权限、其他人的权限|子目录数量(包含隐藏目录)、硬连接的数量、硬连接的数量|所有者|所属组
chmod 修改数据的权限
chmod [归属关系+/-/=访问权限] 文件名
-R 递归修改当前目录包括旗下所有子目录的权限(不包含父目录)
eg:chmod u-r,g+w,o=--- /home/test 所有者删除读取权限,所有组增加写入权限,其他人删除权限
eg:chome a=rwx /home/test 所有人有完全的访问权限
chown 修改所属主、所属组
chown [所属主:所属组] [目录文件]
-R 递归修改当前目录包括旗下所有子目录的所属主与所属组
权限掩码umask
eg:umask 077
配置文件/home/家目录/.bashrc,新增umask 077
mkdir创建目录,777-权限掩码=755
touch创建文件,755-111=644在目录的基础上没有执行权限
默认0022,涉及到优化,更安全的权限
修复用户家目录或手动建立用户家目录
> 用户家目录母板路径 /etc/skel
1. cp -r /etc/skel /home/用户名 从母板路径拷贝到home下并改名
2. chmod -R [用户名:组名] /home/用户名 修改文件归属
二、ACL策略管理
> 相比于文档归属的局限性,ACL策略能对个别用户、组设置独立权限,并且优先级最高
setfacl [-参数] [目录文件]
-m [用户或组:用户名或组名:权限] 给指定用户或者组添加独立权限
-x [用户或组:用户名或组名] 删除指定用户或者组 的独立权限
-b [目录] 清除目录所有ACL策略
-R [用户或组:用户名或组名:权限] 与m联用递归设置ACL策略
eg:setfacl -Rm u:test1:--- /test/nsd.txt
eg:setfacl -x g:tarena /test/nsd.txt
getfacl [目录文件] 查看某个目录或文件的ACL策略
常见故障
递归设置权限错误