当我为 npm 设置 EACCESS 时,我在终端中运行 chown 命令以更改所有者权限,但现在我陷入了困境 sudo :“/usr/bin/sudo 必须由 uid 0 拥有并设置了 setuid 位”我的版本是:ubuntu14.04 LTS 请帮助我 Guyz :)
首先重新启动你的电脑,然后在 Ubuntu 启动时按 ESC 键。
这将为您带来启动菜单。
选择高级选项。
在(恢复模式)中选择您的操作系统版本,然后按 Enter 键。
它将带您进入另一个屏幕。现在选择“Drop to root shell提示符”并按 Enter。
它将在屏幕底部加载命令行。
现在运行以下每个命令。
mount -o remount,rw /
mount --all
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
shutdown -r now
如果您有 root 用户密码,则:
1.Login as root user
2.open terminal
3.Enter following cmd's:-
mount -o remount /
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown root:root /usr/lib/sudo/sudoers.so && chmod 4755/usr/lib/sudo/sudoers.so
chown root:root /var/* && chmod 4755 /var/*
如果您没有 root 用户密码,则:
1.Reboot your system in recovery mode(boot and press and hold esc button to enter in recovery mode)
2.Nevigate to (advance option for linux) by using down arrow button and press two times Enter
3.Nevigate to root by using down arrow button and press Enter
4.Now enter following cmd's:-
mount -o remount /
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown root:root /usr/lib/sudo/sudoers.so && chmod 4755/usr/lib/sudo/sudoers.so
chown root:root /var/* && chmod 4755 /var/*
5.press ctrl+d and then select resume option to boot normal
Kudos you have made it
对我来说,我通过运行以下命令解决了这个问题:
$ init 1
$ mount -o remount /
$ chown root:root /usr/bin/sudo
$ chmod u+s /usr/bin/sudo
$ reboot
/usr/bin/sudo mv /usr/local/bin/sudo{,2}
hash -r
因为权限问题
$ su
Password: <type your root password>
切换到root用户并运行命令
# pkexec chmod a=rx,u+ws /usr/bin/sudo
然后通过用户输入进行检查
$sudo -l
对我来说效果很好
干杯......
试试这个:
pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
我成功了
要解决此问题,您需要启动到恢复模式,该模式提供一个向下滚动菜单,其中包含
drop down to a root shell
选项。
然后依次输入这些命令:
# remount disks in read-write mode
mount -o remount,rw /
mount --all
# return ownership
chown root:root /usr/bin/sudo
# fix permissions
chmod 4755 /usr/bin/sudo
之后,您可以重新启动并重新登录。
您可以尝试一下,看看它是否有效:
sudo -l
1-Alt + Ctrl + 模式 + F1
如果登录 root 就可以,如果不登录则
2- Alt + 模式 + F1
而不是路径 /usr/bin
3- cd /usr/bin 比做的是
chmod u+s sudo su mount umount sg pkexec ping passwd newuidmap newgrp newgidmap ksu gpasswd fusionfusermount 过期 chsh chfn chage unix_chkpwd
比做的是
chmod g+s wall write 定位unix_chkpwd
而不是更改密码 root 密码
4-Alt + Ctrl + 模式 + F7
或者
5-Alt + 模式 + F7
尝试 su 登录 root
苏
如果不起作用,请再做一次并更改密码用户和root示例,我的用户是mizel
6-苏-米泽尔
仅限根
7-苏
这对我有用
“sudo:/usr/bin/sudo 必须由 uid 拥有” 或者 sudo:/usr/bin/sudo 必须由 uid 0 拥有并设置了 setuid 位。 原因:当 /usr/bin/sudo 文件设置了不正确的权限或所有权时,会出现此错误。
解决方案
第 1 步:在启动时使用命令以单用户模式启动服务器。
第 2 步:单用户模式开始后,使用以下命令
第 3 步:现在重新启动服务器并检查。
这适用于那些运行 docker / Kubernetes 环境并将主机根文件系统安装到容器 / Pod 中的环境。
在这种情况下,主机的根目录“/”在 Pod 内挂载为“/host”。
kubectl exec -it mypod -- chown root:root /host/usr/bin/sudo && chmod 4755 /host/usr/bin/sudo
我还没有尝试过创建一个新的 Kubernetes pod,但我想这也应该可行。
这是问题的快速解决方案:
步骤1:
$ init 1
第2步:
$ mount -o remount /
步骤3:
$ chown root:root /usr/bin/sudo
第四步:
$ chmod u+s /usr/bin/sudo
第5步:
$ reboot
通过运行命令以 root 身份登录:
pkexec bash
然后运行:
chown root:root /usr/bin/sudo
chmod u+s /usr/bin/sudo