您的位置:首页 > 运维架构 > Linux

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

2012-11-17 17:16 381 查看
    前段时间对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权限执行命令。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: