linux unix 特殊权限SUID/SGID/Sticky Bit

整理一下特殊权限的用途,不过要小心谨慎用噢!
首先,说明一下它们各自的用途。
SUID 用于可执行程序。一般用户执行某些程序时,可暂时取得拥有者的可执行权限。
SGID大多用于目录。在设置SGID目录下,新建的目录和文件将继承sgid的属组权限。
Sticky Bit 又称t权限位,大多用于目录。设置t权限位后,此目录下的文件,只有root和自己建的文件进行操作。
数字权限对应
SUID 4
SGID 2
t 权限 1
其次,举例说明。
1. SUID
 /usr/bin/crontab 添加SUID,这样普通用户也创建cron任务的权限了。
命令 chmod   u+s  /usr/bin/crontab
我遇到过,普通用户不能创建cron任务。就是这里的权限问题。
2.SGID
a.查看目录/home/harry/test的权限
b.未设置SGID之前切换root用户在/home/harry/test目录下,创建a文件,
属组是root.
c.设置SGID权限 命令 chmod  g+s  /home/harry/test
查看权限位多个s

d.设置SGID后,切换root,创建文件b,对比a和b的属组,可发现SGID的效果。


3.Sticky Bit
可以这样做个简单测试:/tmp系统已默认设置了t权限位
a. 以root登入系统,并且进入 /tmp中。
b. touch test,并且更改test权限成为777。
c. 以一般用户登入,并进入 /tmp。
d. 尝试删除test文件。
有不全面的,还需要大家补充。

你可能感兴趣的:(linux,用户,程序,目录,新建)