ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决

/usr/bin/sudo必须属于用户ID 0(的用户) 和 /usr/lib/sudo/sudoers.so 必须属于用户 ID 0 (的用户)踩坑解决

前言

今天下面一个小兄弟使用Ubuntu安装vmware时不小心把sudo的所属组和权限给弄没了, 在网上找了各种办法还是会报错,下面提供一下解决方案。

解决方法

1.参考网上的解决方案,第一步先进入(recovery)单人模式

  • 重启电脑按住shift不放进入grub

  • 选择高级选项在这里插入图片描述

  • 然后选择 recovery mode 选项进入单人模式 在这里插入图片描述

  • 然后选择 root 弹出press Enter for maintenance 直接按回车即可直接进入root模式 在这里插入图片描述

2.执行修改 /usr/bin/sudo文件的指定所属组和所属人

# chown root:root   /usr/bin/sudo
# chmod 4755  /usr/bin/sudo

踩坑

一般按照上面的方法走一遍基本都能解决了,但是我们这边遇到一个坑,我们这边重启后执行sudo的时候提示: /usr/lib/sudo/sudoers.so 必须属于用户 ID 0 (的用户)。
在这里插入图片描述
网上的兄弟们估计大都是复制粘贴的,遇到这个问题大家的方法都是说卸载 sudo重装 ,看起来没有问题 ,但是实际上是行不通的,第一单人模式可能是无法联网的,卸载后能否安装不得而知,我这边也不敢尝试。第二就算重启系统后再重装,执行apt-get 是需要sudo权限的,恩这边执行sudo是有问题的。那不是死循环了??经过一番思索,无意间发现 /usr/lib/sudo/sudoers.so 必须属于用户 ID 0 (的用户) 和 /usr/bin/sudo必须属于用户ID 0(的用户) 不就是同一个问题嘛? 那为什么不用之前的方法再处理一遍试试看?

最后解决方案,重新计入单人模式,然后执行修改/usr/lib/sudo/sudoers.so 的管理组和所属人,还有权限即可。本人亲测,无需重装sudo。

# chown root:root   /usr/lib/sudo/sudoers.so
# chmod 4755  /usr/lib/sudo/sudoers.so
  • 22
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱折腾的小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值