sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)而且设置 setuid 位
1、前言
这是一个神奇的错误,原因是由于有人将/usr/bin/sudo的权限改成777或其余。linux
解决办法:最终目的只有一个,想办法执行chmod 4755 /usr/bin/sudo 和 chmod 755 /usr 语句ubuntu
2、解决办法
1.若是知道root密码。bash
su登陆root用户,执行命令chmod 4755 /usr/bin/sudo 执行命令chmod 755 /usrui
2.不知道root密码。spa
重启机器,ubuntu下按esc或shift,进入recovery模式(即单人模式),进入后选择root选项,有的会提示输入root密码。插件
(1).不须要输入root密码的状况下,执行以下两条命令。翻译
chmod 4755 /usr/bin/sudo rem
chmod 755 /usrget
(2)须要输入root密码的难兄难弟们,请往下看。it
重启的时候,进入ubuntu高级选项(有的系统是英文的,本身翻译,大概是Advanced options for ubuntu这样),以后能看到recovery 啥啥啥的,按e进入,找到linux /boot/vmlinuz-----\*** ro recovery nomodestset 这句话。
而后将ro recovery nomodestset啥啥啥一大串修改成 rw single init=/bin/bash,而后ctrl+x进入单人模式。
(此时,想要更改root密码的输入passwd ,以后再确认一次就更改为功了。)执行以下命令。
chmod 755 /usr
chmod 4755 /usr/bin/sudo
而后重启查看。
3、题外
若是重启以后,提示sudo:在加载插件“sudoers_policy”时在 /etc/sudo.conf 第 0 行出错。
必须用root登陆(若是不知道密码,用第2点第2条进行重置root密码),卸载sudo并重装就能够了。
ubuntu命令以下:apt-get remove sudo 执行apt-get install sudo。