我正在使用 Ubuntu 17.04。
我错误地更改了 的所有权sudo
。因此现在我无法进行任何更改,因为chown
我可以使用命令来修复它需要sudo
。
如果我使用sudo
我得到
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
答案1
如果你真的只是sudo
更改了命令(即文件)的所有权/usr/bin/sudo
,那么您可以使用以下方法修复此问题pkexec
而不是sudo
运行chown
并更改所有权。此命令执行此操作:
pkexec chown root: /usr/bin/sudo
pkexec
将提示您输入密码(就像sudo
您能够运行它一样)。
root:
与 的意思相同root:root
,以防您也更改了群组所有者。
如果您除了更改了 之外还更改了更多文件的所有权/usr/bin/sudo
,尤其是更改了 中的所有文件的所有权/usr/bin
(如果您更改了/
或的权限/usr
但将-R
标志传递给chown
并指定递归操作,也会发生这种情况),那么这还不够。但根据您在问题中给出的描述——您专门更改了 的所有权/usr/bin/sudo
——运行该pkexec
命令应该足够了。
答案2
您的许可应如下所示:
$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 155008 May 29 15:49 /usr/bin/sudo
要将其更改为默认值,请先以 root 用户身份登录,然后将所有权更改为 sudo“/usr/bin/sudo”。
答案3
使用 Live CD 挂载系统的根分区并从那里修复权限。