SUID/SGID以及sticky bit

什么是SUID

Suid:全称为set owner user id up on execution,允许用户以文件拥有者的权限运行该文件;

最常见的为passwd命令,该命令会访问/etc/passwd/etc/shadow,而普通用户无法修改这两个文件,通过设置passwdsuid可暂时让用户拥有root权限从而修改自身密码;

 

可通过2种方式设置suidchmod u+schmod 47504代表SUID

 

查看suid

ls l会列出如下信息

-rwsr-xr-x 1 root root 27936 Nov 12  2010 /usr/bin/passwd

注意s必须为小写,如果为大写则意味着用户没有执行权限,还需chmod u+x为其赋值

可通过find / -perm +4000查找所有设置了SUID的文件

 

SGID类似suid,相应权限从owner变为group

设置sgidchmod g+s chmod 2750

 

什么是Sticky bit

通常用于文件夹,避免其内容被用户删除(即便该用户有权限也无法执行,除非其为ownerroot),通常/tmp目录可如此设置

2种方式授权:chmod o+tchmod 1750

drwxr-xr-t 2 oracle dba 4096 May 18  2012 client

 

Operator

Description

+

adds the specified modes to the specified classes

-

removes the specified modes from the specified classes

=

the modes specified are to be made the exact modes for the specified classes

Flag

Octal value

Purpose

S_ISUID

04000

Set user ID on execution

S_ISGID

02000

Set group ID on execution

S_ISVTX

01000

Sticky bit

 

chmod u+x myfile

Gives the user execute permission on myfile.

chmod +x myfile

Gives everyone execute permission on myfile.

chmod ugo+x myfile

Same as the above command, but specifically specifies user, group and other.

chmod +s myfile

Set the setuid bit.

chmod go=rx myfile

Remove read and execute permissions for the group and other.

请使用浏览器的分享功能分享到微信等