我可以使用sudo
;运行任何东西我的密码被接受。但每当我尝试su
从 shell 执行操作时,它都会失败:
su:密码错误
问题可能是什么?
答案1
su
意味着替代用户,如果不带任何参数调用它,您将成为超级用户。因此您必须输入 root 密码。
如果许多人需要使用命令进行系统管理或具有扩展用户权限的类似内容,这有点不方便。您只是不希望人们通过共享相同的 root 密码来拥有无限的权限。
解决此类问题的方法是sudo
(“替代用户做")。这将允许您指定某人可以调用的命令并定义权限。因为sudo
您不必输入 root 密码,而是输入尝试调用 sudo 命令的用户的密码。
出于安全原因,某些发行版禁用了 root 用户。这可能是您无法使用su
.在这种情况下,要获得具有 root 权限的 shell,请使用sudo -s
;-)
答案2
不带选项的 su 命令将默认允许您成为 root 用户。它不要求您输入密码,而是要求您输入 root 密码。
sudo 命令始终要求您输入密码。