Answers:
su
要求输入root密码。由于Ubuntu默认情况下未设置root密码,因此您不能使用它成为root。
相反,要成为root用户,请使用sudo -i
您的个人密码。
sudo su
不是推荐的方法-请sudo -i
改用。
root
默认情况下,Ubuntu中的帐户是禁用的。这就是说,它没有密码(与具有空密码的密码不同),并且不会尝试使用root的密码进行身份验证。因此,su
还是su -
行不通的。
而是使用sudo
以root身份运行命令:
sudo command...
如果您希望获得与之类似的根shell su
,请运行:
sudo -s
如果您希望获得与之类似的根shell su -
,请运行:
sudo -i
我遇到了一个操作系统,Minibian,/bin/su
即使启用了根帐户的密码,也缺少的setuid位,从而导致此错误。
在Linux上,成为root的唯一方法是执行setuid-root文件。当您运行sudo
或时su
,将设置其setuid位,以便该进程的有效用户成为root用户,然后他们已经以root用户身份进行身份验证!如果失败,则退出。
无论如何,这是症状和解决方法:
$ su
Password:
su: authentication failure
$ sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
注意区别:rwx
之前,rws
之后。
就我而言,这是因为该用户的条目在中缺失/etc/shadow
。
我已将/etc/passwd
ID大于1000的所有条目都复制到另一台测试服务器,/etc/group
但忘记了/etc/shadow
。因此,每当我对su
任何一个用户进行操作时,都会收到该错误。在/etc/shadow
错误中添加缺少的条目后,将停止出现。
例如/etc/shadow
:
myusername:*:16992:0:99999:7:::
sudo bash
但是你的咒语使我想使用su sudo
或者也许su su sudo
。