文件特殊权限:SUID,SGID,SBIT

来源:互联网 发布:java静态网页 编辑:程序博客网 时间:2024/04/30 23:51

参考鸟哥私房菜-linux文件与目录管理

SUID

  • suid权限仅对二进制程序有效。
  • 执行者对于该程序需要具有x的可执行权限。
  • 本权限仅在执行的过程中有效。
  • 执行过程中具有该程序所有者的权限。

    SUID

    可以看到对于/usr/bin/passwd文件来说dudengke用户具有x权限,表示dudengke用户能够执行passwd。然而,passwd的拥有者是root这个帐号。dudengke用户在执行过程中,会“暂时”获得root的权限。

    另外SUID仅可用在二进制程序上,不能够用在shell script上面。!!

SGID

  • 当s标志在文件所有者的x项目为SUID,那s在用户组的x时,则成为SGID。

    这里写图片描述

SGID对于文件:

  • SGID对二进制程序有用。
  • 程序执行者对于该程序来说,需具备x的权限。
  • 执行者在执行的过程中将会获得该程序用户组的支持。
    例如:
    这里写图片描述
    用户dudengke去执行locate时,dudengke将会取得slocate用户组的支持,因此就能够读取mlocate.db文件。

SGID对于目录:

  • 用户对于此目录具有r和x权限时,该用户能够进入此目录。
  • 用户在此目录下的有效用户组将会变成目录的用户组。
  • 若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同。

Sticky Bit

这个Sticky Bit目前只针对目录有效,对于文件没有效果。SBIT对于目录的作用是:

  • 当用户对于此目录具有w,x权限,即具有写入的权限时;
  • 当用户在该目录下创建文件或目录时,仅有自己与root才有权力删除该文件。
    这里写图片描述

  • /tmp目录具有t权限,则意味着所有用户都可以在这新建、删除和移动。而无法删除他人的文件。

0 0
原创粉丝点击