linux搞懂suid sgid sbit

SUID:当一个设置了SUID位的可执行文件被执行时,该文件将以其所有者的身份运行,而不是命令执行者的权限。也就是说无论谁来执行这个文件,都有文件所有者的特权,任意存取该文件拥有者能使用的全部系统资源。如果所有者是root,那么执行人就有超级用户的特权

[root@linux ~]# ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

SGID:当一个设置了SGID位的可执行文件执行时,该文件将以其所属组的身份运行,而不是命令执行者的权限。
也就是说无论谁来执行这个文件,都有文件所属组的特权,任意存取整个组所能使用的系统资源

[root@linux ~]# ls -ld a/
drwxrws--- 2 root root 4096 4月   9 21:50 a/

SBIT:存放在该目录的文件仅准许其属主执行删除、移动等操作
权限的设置:

[root@linux ~]# ll -d /tmp/
drwxrwxrwt. 10 root root 4096 4月   9 21:48 /tmp/

设置
//1.使用chmod命令的文字设定法
//为程序/usr/bin/myapp 添加SUID权限

# chmod u+s /usr/bin/myapp

//为目录/home/groupspace 添加SGID权限

# chmod g+s /home/groupspace

//为目录/home/share添加sticky权限

# chmod o+t /home/share

//2.使用chmod命令的数值设定法
//为程序/usr/bin/myapp添加SUID权限

# chmod 4755 /usr/bin/myapp

//为目录/home/groupspace添加SGID权限

# chmod 2755 /home/groupspace

//为目录/home/share添加sticky权限

# chmod 1755 /home/share

解释 4755的含义:

4755
7:rwx
5:r-x
5:r-x
4:表示的是suid 如果属主的x权限存在用s不存在用S
2:表示的是sgid 如果属组的x权限存在用s不存在用S
1:表示的是sbit 如果其他用户的x权限存在用t不存在用T
则表示的结果为rwsr-xr-x

执行命令验证权限

[root@linux ~]# chmod 4755 a/
[root@linux ~]# ls -ld a/
drwsr-sr-x 2 root root 4096 4月   9 21:50 a/
[root@linux ~]# 

你可能感兴趣的:(linux搞懂suid sgid sbit)