首页 > 代码库 > 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基础--特殊权限及文件系统访问控制列表