sudo는 uid 0이 소유해야 하며 setuid 비트가 설정되어 있어야 합니다.

sudo는 uid 0이 소유해야 하며 setuid 비트가 설정되어 있어야 합니다.

복구 모드를 통해 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

사용자로 다시 로그인하면 문제가 해결되었습니다.

관련 정보