Linux权限管理2——setuid、setgid、stricky bit

本文深入探讨了Linux系统中setuid、setgid、sticky bit的使用及其潜在风险,详细解释了如何设定和取消这些权限,并以passwd和vi命令为例,展示了普通用户如何通过suid权限修改密码和文件。同时介绍了setgid的双重作用及对目录和二进制文件的影响,以及如何利用sticky bit保护文件系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux权限管理——set uidset gidstricky bit比较危险的操作

 

setuid

用户在执行具有suid权限的可执行文件时,身份发生转化,暂时成为该文件的所有者,执行完毕后身份再切换回来


1)该文件是一个可执行二进制程序

2)用户对该文件有执行权限

3)执行完毕后身份还原

setuid的设定方法

chmod 4755 

chmod u+s

setuid的取消方法

chmod 755

chmod u-s

说明:

/bin/passwd


普通用户可以执行该命令修改密码,我们知道密码是要写入到/etc/shadow文件中的,而该文件的权限是000,所以passwd具有suid权限,所以普通用户能够执行该命令,将密码写入到/etc/shadow文件中(普通用户身份切换为root

如果将vi命令赋有suid权限,那么执行用户将可以修改任何文件(危险!)

 

setgid

setgid既可以对二进制文件有效,也可以对目录有效

对二进制文件(与setuid类似)


对目录


用户对目录有rx权限

用户在进入到该目录后,所属组变为该目录的所属组

如果用户对该目录有w权限,则在该目录下创建的文件的所属组是该目录的所属组

setgid的设定方法

chmod 2777 

chmod g+s

setgid的取消方法

chmod 777

chmod g-s


 

 

stricky bit

粘着位

只针对目录有效,用户对目录有wx权限

用户对目录有w权限,如果没有粘着位,那么用户可以删除该目录下的所有文件,如果设置粘着位,那么该用户只能删除自己创建的文件,对于其他用户创建的文件不能删除。

stricky bit设定方法

chmod 1777 

chmod o+t

取消方法

chmod 777

chmod o-t


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值