故障現(xiàn)象
普通用戶使用sudo命令柬泽,出現(xiàn)如下錯(cuò)誤信息
[ennan@ennan ~]$ sudo yum install httpd -y
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
問(wèn)題分析
當(dāng)使用sudo時(shí)候,提示sudo必須為uid為0的(root)用戶才能使用,并提示需要設(shè)置uid。推測(cè)可能時(shí)由于/usr/bin/sudo丟失了uid導(dǎo)致的崎苗。
解決思路
由于沒(méi)有root的密碼狐粱,因此需要通過(guò)進(jìn)入單用戶模式解決此問(wèn)題。
-
重啟Linux系統(tǒng)主機(jī)并出現(xiàn)引導(dǎo)界面時(shí)胆数,按下鍵盤上的e鍵進(jìn)入內(nèi)核編輯界面
進(jìn)入內(nèi)核編輯界面 - 將linux16這行的ro改寫成rw后面添加enforcing=0 init=/bin/bash肌蜻,然后按下Ctrl + X組合鍵來(lái)運(yùn)行修改過(guò)的內(nèi)核程序。
image.png - 等待數(shù)秒即可進(jìn)入單用戶模式必尼,通過(guò)用ls -l命令可看出/usr/bin/sudo缺少suid權(quán)限蒋搜。修正文件權(quán)限后,執(zhí)行exec /sbin/init重新引導(dǎo)系統(tǒng)即可判莉。
編輯文件權(quán)限
驗(yàn)證
在單用戶模式修改后豆挽,可正常執(zhí)行sudo命令
[ennan@ennan ~]$ sudo yum install httpd
[sudo] password for ennan:
......
......
Dependencies Resolved
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Installing:
httpd x86_64 2.4.6-89.el7.centos.1 updates 2.7 M
Installing for dependencies:
httpd-tools x86_64 2.4.6-89.el7.centos.1 updates 91 k
mailcap noarch 2.1.41-2.el7 base 31 k
Transaction Summary
======================================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 2.8 M
Installed size: 9.6 M
Is this ok [y/d/N]: