Linux下root用户可以su普通用户,普通用户却su不到root的原因

本文详细阐述了如何通过权限管理实现SU命令仅限特定用户使用的技巧,并解释了s权限的作用及解决问题的方法。

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

    前段时间对gpasswd进行了一些研究,做了一个实验,对su命令做了一个限制:只有我指定的用户能用su命令,其他用户即使知道root密码也不能su到root。主要就是将指定用户添加到su命令的属组中,查看/bin/su发现su的默认属组是root,我用gpasswd -a user root将一些用户添加到root数组中,然后修改权限,chmod 750 /bin/su。重启终端后,你用root用户可以su到普通用户,可是非root属组的普通用户却不能su到root用户。

但是最后我想让普通用户su到root,发现却不好使了,即使chmod 755 /bin/su,即使root密码对了也不行,苦思很久,终于找到原因:查看另一台机器下的/bin/su文件的权限,你会发现是 -rwsr-xr-x, 而现在是-rwxr-xr-x,问题症结就在这个s权限,s权限是一个特殊权限,让你临时可以拥有root权限,即使用者可以临时具备该文件属主/属组的执行权限。

原因找到了,root 下chmod u+s /bin/su, 问题得以解决。其实linux下好多命令的权限都是这种方式,让你可以临时拥有root权限执行命令。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值