linux文件特殊权限

linux文件除了有r、w、x三种权限外,还有3个特殊的权限,分别是setuid、setgid和stick bit。

1.1 setuid 

  当二进制文件(命令)被setuid后,任何用户用该命令时以该命令所属主去执行某个文件。

  例如:chmod u+s usr/bin/touch 前后分别创建a.hadoop和b.hadoop

    

1.2 setgid

  setgid使用步骤:

  (1)创建目录项目   mkdir project (一般权限是755)

  (2)添加用户组     groupadd project

  (3)修改目录project的用户组为project  chgrp project(用户组) project(目录)

  (4)为用户组添加用户    usermod -G project hadoop

              usermod -G project hbase

              usermod -G project hbase

  (5)修改目录project用户组权限  chmod g+s project

  (6)在project目录下就可以随意增删文件了,同用户组文件实现共享

     例:

    

1.3 stick bit

  在1.2中,如果我们想每个用户可以新添加、删除自己的文件,但不能删除别人的文件,该怎么办呢?

  这时,stick bit 就起作用了,若某个目录被设置了stick bit 后,在该目录下的用户可以增删自己文件,但不能使别人的文件。

1.4 小结

  (1)setuid针对的是文件,setgid针对的是目录(或文件),而stick bit 针对的是对目录下的权限更精确的调整。

  (2)用户执行命令(touch),开启一子进程,setuid后,该进程的uid为命令(touch)的所属者。

我喜欢一无所有,这样就只能一步一步的创造世界...
原文地址:https://www.cnblogs.com/riordon/p/3966075.html