Linux特殊权限 SUID、SGID、Sticky

Linux特殊权限 SUID、SGID、Sticky,第1张

文件的特殊权限有三种:1、suid2、sgid3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下这三种权限。

SUID:

1、需要注意的是,只对二进制可执行程序有效,不能为普通文件

2、发起者对程序文件必须拥有执行权限

3、启动为进程之后,其进程的宿主为原程序文件的宿主

4、SUID设置在目录上毫无意义。

SGID:

可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录。

Sticky:

默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。

suid和sgid无非就是一个进程继承的问题,带有这个标识符的命令,在某些用户登录时,自动继承,也就是可以使用那些进程!

一般系统的umask=0022(那个第一位就是suid的设置位置,suid:6,sgid:4,sbit:2)

你可以查找/bin下拥有suid的命令

[root@localhost ~]# cd /bin/

[root@localhost bin]# find -perm +6000

./umount

./mount

./su

./ping6

./ping

你是不是发现,上述这些命令,任何登录用户都可以用呢?

passwd可以修改其他用户需要设置-G 为wheel的用户组,

#visudo(在其中把wheel的注释拿掉,再添加一行:user ALL=(root) /usr/bin/passwd)

#usermod -a -G wheel user

#sudo passwd user1(这里是用上边的那个用户登录的)

你不编译内核,普通用户怎么可能可以添加用户?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7283698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存