linux中的SUID,SGID,SBIT

作者:shyboys    发布于:

首先linux中文件的权限,r=4,w=2,x=1
-rwxrwx— 770权限表示此文件(文件夹)的拥有着和同组用户有读写及执行权限,其他用户组没任何权限
linux下文件的类型
-表示普通文件
d表示文件夹
l表示链接文件
b表示块设备
c表示字符设备
然后了解一下SUID吧,SUID就是set用户的id简称。
比如:

ls -l /usr/bin/passwd

结果输出

-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
执行位x为s说明这个程序具有suid权限,就像我们普通用户要修改密码,
但是对于/etc/shadow文件的权限是没有的,而通过passwd命令具有root权限就能修改密码了。

一点注意

1.SUID只对二进制文件有效
2.调用者对该文件有执行权
3.在执行过程中,调用者会暂时获得该文件的所有者权限
4.该权限只在程序执行的过程中有效

SGID就是Set GID了,就是获得该文件所属组的权限了。SGID用于普通二进制文件和目录
当作用于文件时就是获得文件组的权限,而作用于目录时,其他用户在目录下创建的文件就属于该目录所属的组了。
SBIT即sticky bit(黏着位),作用在其他用户的权限的执行位上,只能作用于目录,用户在该目录下创建的文件只能被
该用户和root用户删除。

ls -ld /tmp
drwxrwxrwt. 9 root root 200 Oct 9 02:23 /tmp

好了,如何设置上述三种权限呢??
SUID=4,SGID=2,SBIT=1;

chmod 6666 test #设置SUID和SGID给test文件

查找具有SUID权限的文件。

find / -user root -perm -4000 -print 2>/dev/null

利用其提权,如果find命令具有具有SUID的话,一般不可能哈。

touch test
find test -exec whoami ;

参考文章:
http://blog.csdn.net/xiaocainiaoshangxiao/article/details/17378611
http://www.freebuf.com/articles/system/149118.html

format_list_numbered

(无)

vertical_align_top

Copyright © 2017 shyboys

Powered by Hexo & Theme - Vateral