sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set问题解决方案

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set问题解决方案

当我们使用sudo su切换权限时提示错误:

复制代码
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

该错误出现原因:是因为/usr/bin/sudo的权限被修改了,/usr/bin/sudo 的所有者不是 root 用户,并且没有设置 setuid 位。

解决方案如下:

1.如果知道root账户的密码,使用root账户登录系统执行如下命令:

复制代码
sudo chown root:root /usr/bin/sudo
sudo chmod 4755 /usr/bin/sudo

这将把 /usr/bin/sudo 的所有者更改为 root 用户,并设置 setuid 位。可以登录普通用户再次执行sudo su验证。

2.如果不知道root账户的密码,可以采取以下步骤(亲测有效):

(1)重启系统,出现启动界面按ESC,进入grub菜单页面(如果esc无法进入,可尝试shift)。选择Advanced options for Ubuntu

(2)选择Advanced options for Ubuntu后,界面如下:

选择当前使用内核版本的recovery mode模式。

(3)选择root选项

(4)出现命令行界面

(5)再次执行如下命令:

复制代码
sudo chown root:root /usr/bin/sudo
sudo chmod 4755 /usr/bin/sudo

执行完成后,重启系统,再次执行sudo su命令,不在出现sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set问题。

相关推荐
Dawn-bit22 分钟前
Linux磁盘分区与Swap和磁盘故障查询
linux·运维·服务器·网络·云计算
无足鸟ICT2 小时前
【RHCA+】$[]
linux·运维·服务器
运维技术小记2 小时前
国产化环境配置 VNC 远程桌面:麒麟 V10 实战
linux·运维·服务器
xiaoye-duck3 小时前
《Linux系统编程》Linux 系统多线程(八): C++ 高并发线程池全链路深度解析与从零手撕实现
linux·c++·线程池
AnsonNie3 小时前
Ubuntu系统安装裕太微YT6801网卡驱动【笔记】
笔记·ubuntu
寒水馨3 小时前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc
王琦03184 小时前
Linux的文件管理
linux·运维·服务器
☆凡尘清心☆4 小时前
CentOS Stream 9 Redis 7.2.7 源码编译一键安装脚本
linux·运维·redis·centos
Android系统攻城狮4 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(四十二)
linux·运维·服务器·音频进阶·pipewire音频进阶
蜉蝣fuyou4 小时前
VMware多版本安装包
linux·vmware·虚拟机