복구 모드를 통해 Ubuntu 슈퍼 비밀번호를 변경했습니다. 그 후에는 일반 사용자에서 sudo 명령을 실행할 수 없습니다.
복구 모드에서 이전 비밀번호를 해독해 보았습니다. 비밀번호를 해독하기 위해 이 링크를 클릭했습니다..
$sudo
---전역 모드에서 다음 오류가 발생합니다.
sudo: /usr/local/bin/sudo는 uid 0이 소유해야 하며 setuid 비트가 설정되어 있어야 합니다.
$ ls -l sudo
다음을 제공합니다:
-r-sr-xr-x 1 root root 136808 May 29 2017 sudo
/usr/local/bin$ ./sudo
---> 작동하지 않으려면 이것이 필요합니다 /usr/local/bin
./sudo
. --- 다음 오류가 발생합니다.
sudo: ./sudo는 uid 0이 소유해야 하며 setuid 비트가 설정되어 있어야 합니다.
/usr/bin$
./sudo
--> 잘 작동해요
usage: sudo -h | -K | -k | -V
어디에서나 터미널에서 sudo 명령에 액세스해야 합니다.
답변1
하나도 없어야합니다 /usr/local/bin/sudo
. 그것이 문제를 일으키는 것입니다 (비밀번호 변경이 아님). 방해가 되지 않는 곳으로 이동하세요.
/usr/bin/sudo mv /usr/local/bin/sudo{,2}
그런 다음 쉘에 다음을 말하십시오.
hash -r
그러면 sudo
익숙한 기능이 복원됩니다.
답변2
최근에 다음 명령을 실행했기 때문에 이 문제가 발생했습니다.
sudo chmod -R 777 /usr/*
불행하게도 /usr/bin/sudo는 루트에 속하지 않으므로 손상됩니다.
이 문제를 해결하기 위해 복구 모드로 부팅했습니다. 복구 모드에서는 루트 셸로 드롭다운할 수 있는 옵션이 있는 스크롤다운 메뉴가 제공되었습니다.
루트 쉘에서 다음 명령을 실행했습니다.
# remount disks in read write mode
mount -o remount,rw /
mount --all
# return ownership
chown root:root /usr/bin/sudo
# fix permissions
chmod 4755 /usr/bin/sudo
reboot
사용자로 다시 로그인하면 문제가 해결되었습니다.