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

  • 选择高级选项ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决_第1张图片

  • 然后选择 recovery mode 选项进入单人模式 ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决_第2张图片

  • 然后选择 root 弹出press Enter for maintenance 直接按回车即可直接进入root模式 ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决_第3张图片

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

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

踩坑

一般按照上面的方法走一遍基本都能解决了,但是我们这边遇到一个坑,我们这边重启后执行sudo的时候提示: /usr/lib/sudo/sudoers.so 必须属于用户 ID 0 (的用户)。
ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决_第4张图片
网上的兄弟们估计大都是复制粘贴的,遇到这个问题大家的方法都是说卸载 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

你可能感兴趣的:(linux,ubuntu,linux)