suid、sgid实现的是让普通用户、或者属组提升权限为这个文件的所有者。
# 创建一个空文件
[root@rootop ~]# touch a
[root@rootop ~]# ll
total 4071212
-rw-r–r– 1 root root 0 Jul 23 15:49 a
# 设置SetUID
[root@rootop ~]# chmod 4777 a
[root@rootop ~]# ll
total 4071212
-rwsrwxrwx 1 root root 0 Jul 23 15:49 a
# 设置SetGID
[root@rootop ~]# chmod 2777 a
[root@rootop ~]# ll
total 4071216
-rwxrwsrwx 1 root root 0 Jul 23 15:49 a
# 设置Stick Bit,粘滞位。
[root@rootop ~]# chmod 1777 a
[root@rootop ~]# ll
total 4071216
-rwxrwxrwt 1 root root 0 Jul 23 15:49 a
# 等同于chmod u+s a 实现suid添加
# 等同于chmod g+s a 实现sgid添加
# 等同于chmod o+t a 实现stick bit添加
有时在权限位会出现大S和小s(或者是大T和小t)情况,这是由于用户、组、其它,没有执行(x)权限,添加特殊权限的时候就会变成大写S(或者大写T)。
[root@rootop ~]# chmod u+s b
[root@rootop ~]# ll
total 0
-rwSr–r– 1 root root 0 Aug 30 13:25 b
[root@rootop ~]# touch c
[root@rootop ~]# chmod u+s c
[root@rootop ~]# chmod o+t c
[root@rootop ~]# ll
-rwSr–r-T 1 root root 0 Aug 30 13:25 c
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4988.html