首页 > 代码库 > linux基础--特殊权限及文件系统访问控制列表
linux基础--特殊权限及文件系统访问控制列表
特殊权限
SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动用户。
SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动用户所属的基本组。
Sticky:在一个公共目录,每个用户都可以创建文件,能删除自己的文件,但不能删除别人的文件
修改文件的特殊权限
chmod u+s FILE:给文件添加SUID权限
chmod u-s FILE:给文件删除SUID权限
chmod g+s FILE:给文件添加SGID权限
chmod g-s FILE:给文件删除SGID权限
chmod o+t DIR:给目录增加Sticky权限
chmod o-t DIR:给目录删除Sticky权限
例子:
chmod 1755 /back/test:带Sticky权限的755文件
chmod 2755 /back/test:带SGID权限的755文件
chmod 3755 /back/test:带Sticky和SGID权限的755文件
chmod 4755 /back/test:带SGID和SUID权限的755文件
chmod 5755 /back/test:带Sticky和SUID权限的755文件
chmod 6755 /back/test:带Sticky和SUID以及SGID权限的755文件
因此umask的0022中第一位0就代表的是特殊权限。
作业:创建一个目录,让user01,user02,user03都有写的权限,并且都可以编辑另外的用户创建的文件,但是不可删除别人创建的文件。
FACL:File System Access Control List
利用文件扩展属性保存额外的访问控制权限,ACL为现有权限机制的延伸,在现有机制的三个基本设定(owner、group、other)的基础上加入了对某指定使用者或群组的存取权限设定。
FACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过FACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。如让tom用户对jerry创建的文件有读写权限。
setfacl
-m:设置额外访问控制列表
u:uid:perm FILE 设定指定用户对FILE有指定权限
d:uid:perm DIR 设定指定用户对目录的指定权限,默认在此目录创建的文件都会继承FACL
g:gid:perm FILE 设定指定组对FILE有指定权限
例:setfacl -m u:hoodop:rw /tmp/test.txt 添加hoodop用户对test.txt拥有读写权限。
-x:取消额外访问控制列表
--mask:设置默认mask权限
getfacl FILE:获取facl权限
添加facl权限后的权限应用顺序
owner-->facl中的user-->Group-->facl中的group-->Other
本文出自 “亮公子” 博客,请务必保留此出处http://iyull.blog.51cto.com/4664834/1884923
linux基础--特殊权限及文件系统访问控制列表