如果我尝试使用不正确的密码“su root”,则会收到预期的“身份验证失败”。
如果我尝试与正确的密码,我得到“setgid:不允许操作”
我尝试了通常的“通过 grub 启动来重置 root 密码,但随后我得到了“bash:无法设置终端进程组(-1):设备的 ioctl 不合适”,并且需要重新启动键盘才能被识别。
我没有安装 sudo。几个月来我没有对这台机器进行任何管理更改,它按预期工作,但现在突然不行了。
这台机器与 Windows 双重启动,正确的 root 密码确实允许我访问共享的 Windows 硬盘。 (“安装需要身份验证......等等......”)
编辑: ls -l $(which su) 显示
-rwxr-xr-x 1 我的名字 我的名字 40168 2014 年 11 月 20 日 /bin/su
解决了:
最终我确定我不能su到任何用户,而不仅仅是root。
从 Live CD 启动
挂载 /dev/sda1 /mnt (在我的例子中是 sda1,也许不是你的)
chown -R root:root 等
chown -R root:root bin
..所有其他意外属于我的目录,而不是 root 的目录
最重要的是, /bin/su 需要是-rwsr-xr-x
造成问题的不仅仅是所有权,还有所有者的“s”,而不是“x”。
我怀疑不正确的所有权会引起其他问题,但现在我可以 su 到 root,我应该能够纠正它们。
答案1
问题在于您的 su 二进制文件的权限,它需要是:
-rwsr-xr-x 1 root root 35200 Mai 25 2012 /bin/su
。 (检查了 Wheezy 和 Jessie)。
当您刻意更改整个文件系统或子文件夹(例如bin
.
要su
再次开始工作,您可以aptitude reinstall login
从其他介质启动并从那里修复权限。