setuid、setgid及粘贴位

setuid、setgid及粘贴位
提示:生产场景用的不多,了解即可。
作用让不同用户可以以root用户运行只有root账号运行的程序。
形象的例子代天子牧守四方,大臣拿尚方宝剑。
[root@model ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 1623 Jan  7 16:30 /etc/passwd
例子:root@model ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd
看到这个s了吗,普通用户能够修改自己的密码的原因就是普通执行passwd命令时临时获得了root权限。


setuid在权限之前加一个数字,4000。setgid则是在权限之前加一个数字2000。
[root@model ~]# chmod 4744 testfile 
[root@model ~]# ll testfile 
-rwsr--r-- 1 root root 0 Jan  7 20:47 testfile
[root@model ~]# chmod 2744 testfile 
[root@model ~]# ll testfile 
-rwxr-Sr-- 1 root root 0 Jan  7 20:47 testfile
注意:s为本来的权限本身有x即可执行权限。S为权限本身没有可执行权限-。


粘贴位
作用:即使这个文件的权限是777,但是其他用户没有权限删除这个文件,只有属主才可以删除它。
drwxrwxrwt. 4 root root 4096 Jan  7 21:13 /tmp
[root@model ~]# chmod 1744 testfile 
[root@model ~]# ll testfile 
-rwxr--r-T 1 root root 0 Jan  7 20:47 testfile

你可能感兴趣的:(Linux学习笔记)