六. 特殊权限

1.粘制位(stickyid)

针对目录,如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除。

chmod 1原始权限 dir
chmod o+t dir

6.2 linux下的权限管理(特殊权限)
开启了t权限之后:
6.2 linux下的权限管理(特殊权限)
6.2 linux下的权限管理(特殊权限)

2.强制位(sgid)

针对目录:目录中新建的文件自动归属到目录的所属组中

chmod 2源文件权限 dir
chmod g+s dir

6.2 linux下的权限管理(特殊权限)
6.2 linux下的权限管理(特殊权限)

只针对二进制位文件(c程序)
当运行二进制可执行文件时,g位有s,目录中的文件都是以文件所有组去执行,和执行用户无关。
6.2 linux下的权限管理(特殊权限)

3.冒险位(suid)

只针对二进制可执行文件(c程序)
当运行二进制可执行文件是都是以文件拥有者身份运行,和执行用户无关。

chmod 4原属性 file
chmod u+s file

6.2 linux下的权限管理(特殊权限)

6.2 linux下的权限管理(特殊权限)
设置超级用户不能执行删除功能:
6.2 linux下的权限管理(特殊权限)

七.acl权限列表

1.access control lists 访问控制列表

功能:在列表中可以设定特殊用户对于特殊文件有特殊权限
6.2 linux下的权限管理(特殊权限)

getfacl /mnt/dir/ #查看权限管理
setfacl -m u:dizi:— /mnt/dir/ #设置用户权限
setfacl -m g:xixi:— /mnt/dir/ #设置组权限
setfacl -x u:haha /mnt/dir/ #删除用户
setfacl -x g:haha /mnt/dir/ #删除组
setfacl -b /mnt/dir/ #关闭列表功能

6.2 linux下的权限管理(特殊权限)
6.2 linux下的权限管理(特殊权限)

2.acl权限优先级

拥有者 > acl用户>拥有组>acl组>其他

3.acl mask控制

mask是能够赋予指定用户权限的最大阈值
问题:当设定完文件的acl列表之后,用chmod缩小了文件拥有组的权力,mask会发生变化。
恢复:setfacl -m m:权限 文件
6.2 linux下的权限管理(特殊权限)

4.acl列表的默认权限

setfacl -m u:lee:rwx /mnt/westosdir #只对/mnt/westosdir目录本身生效
setfacl -Rm u:lee:rwx /mnt/westosdir #对于/mnt/westosdir目录和目录中本身已经存在的内容生效
#以上的命令只是针对与存在的目录和文件生效
setfacl -m d:u:lee:rwx /mnt/westosdir #只对目录中新生成的文件有效,对原本存在的文件不生效

八.attr权限

attr权限限制所有用户

chattr +i dir | file #不能做更改
chattr -i dir | file #取消以上更改
chattr +a dir | file #能添加不能删除
chattr -a dir | file #取消以上更改
lsattr file | dir #查看attr权限

6.2 linux下的权限管理(特殊权限)
练习题
6.2 linux下的权限管理(特殊权限)
第一题
6.2 linux下的权限管理(特殊权限)
第二题
6.2 linux下的权限管理(特殊权限)
第三题
6.2 linux下的权限管理(特殊权限)
第四题
6.2 linux下的权限管理(特殊权限)

相关文章: