sudo 오류가 발생합니다.이 오류를 어떻게 해결합니까?
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
답변
첫 번째 옵션
이 게시물에 따라 :
- PC 재부팅
- GRUB boot selection 화면이 나타나면 Recovery Mode를 선택하십시오. 표시되지 않으면 ShiftGRUB 로더가 아래쪽에 표시 될 때 키를 누르십시오 .
-
검은 색 터미널이 나타납니다.이 시점에서이 명령을 실행할 수 있습니다 (루트 권한이 있어야 함).
chmod 0440 /etc/sudoers
대안 적으로
Ubuntu를 LiveCD에 넣고 LiveCD로 부팅하고 하드 드라이브에 Ubuntu 파티션을 마운트해야합니다 (Nutilus와 같은 파일 브라우저를 열고 Ubuntu 파티션을 클릭하거나 장소-> “xxGB 파티션 / Your Ubuntu 파티션을 클릭하십시오) “).
그런 다음 LiveCD 세션에서 터미널을 열고 다음 두 명령을 입력하십시오.
cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers
추가 문제
오류가있는 경우 (아래에 게시 됨) 오류 프롬프트에 따라 위 두 단계 중 하나를 사용하여 각 파일을 조정하십시오.
sudo apt-get update sudo : /etc/sudoers.d/README는 0777 모드이고 0440이어야합니다 sudo : 비 소유자 (040777)가 쓸 수있는 / var / lib / sudo 모드는 0700 [sudo] 암호 여야합니다.
다음을 통해 수정하십시오.
chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo
이 두 명령 모두 위에서 설명한 단계와 함께 적절하게 사용해야합니다. 해당 파일과 관련된 파일 권한을 변경합니다. 0440은 소유자 (루트)와 그룹 에게 읽기 권한을 부여 하고 0700은 소유자 (루트), 읽기, 쓰기 및 실행 권한을 부여합니다.
답변
sudo
이 상황에서는 깨졌지만 pkexec
( PolicyKit 의 명령 줄 프런트 엔드 ) 여전히 작동하므로 단일 명령으로 해결할 수 있습니다. 재부팅이 필요하지 않습니다.
pkexec chmod 0440 /etc/sudoers
이것은 PolicyKit이 설치된 것으로 가정합니다. 이것이 GUI가없는 서버가 아닌 데스크탑 시스템 인 경우입니다.
답변
복구 모드로 부팅하고 루트 셸을 선택하고 다음을 수행하십시오.
chmod 0440 /etc/sudoers
또는 다시 시작하지 않으려면 다음 대안을 사용할 수 있습니다.
pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README
권한이 변경됩니다. 시도해보십시오.
답변
이러한 오류가 발생하기 위해 무엇을 했습니까?
-
다음을 수행 한 경우 :
sudo chmod -R 777 /etc
을 (를) 복구하려면 라이브 CD가 필요합니다.- 라이브 CD로 부팅하고 “시도”를 선택하십시오
- Ubuntu 파티션 (또는 별도의 파티션에
/etc
넣은 경우 포함/etc
된 파티션)을 마운트하십시오 . 노틸러스 또는 장소 메뉴 와 같은 파일 브라우저를 사용하여 수행 할 수 있습니다. - 응용 프로그램 => 액세서리 => 터미널 로 이동 하여 터미널 을 엽니 다.
- Ubuntu 파티션의 폴더를 결정하면를 사용하여 마운트 된 파티션의 내용을 나열 할 수 있습니다
ls -l /media
. 아마도 이름이ubuntu
또는disk
입니다. 다음 단계에서는로 가정하겠습니다ubuntu
. -
터미널에서 기본적으로 제한적 권한을 설정하십시오.
sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \; sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
-
그런 다음 파일 사용 권한을 복원하기위한 참조 지점으로 Live CD를 사용하십시오. 아래 명령은 Live CD
/etc/media/ubuntu
의/etc
폴더를 참조 지점으로 사용하기위한 파일 권한을 변경합니다 . 동일한 파일 시스템 ( )의 파일 (-type f
) 및 디렉토리 (-type d
)에 대한 권한 만 변경합니다-xdev
. 모든 오류가 기록됩니다~/errors.log
“파일을 찾을 수 없습니다”와 같은 오류는 시스템의 파일이 설치되어 있지만 라이브 CD에서 발견되지 않았 음을 나타냅니다. 5 단계의 명령은 올바른 권한을 설정해야하지만 최상의 결과를 얻으려면 패키지를 다시 설치하는 것이 좋습니다.cd /media/ubuntu && sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
- http://paste.ubuntu.com/
~/errors.log
과 같은 어딘가에 안전 하므로 응용 프로그램에 문제가있는 경우이 답변에 주석으로 추가 할 수 있습니다.
답변
우분투에서는 먼저 Ctrl+ Alt+ T를 누르면 터미널이 열립니다. 그런 다음 Ctrl+로 아래 명령을 복사하여 붙여 넣고 + + C로 터미널에 붙여 넣을 수 있습니다.CtrlShiftV
pkexec chmod 0440 /etc/sudoers
답변
나를 위해, 나는 한 단계를 추가했다하여 pkexec
제안, 당 이 , 내가 내가 바보 같은 실수를했을 때 2 개 SSH 세션이 진행이 일어난 것을 운이 좋았다 :
- 2 개의 터미널 열기
- 터미널 2에서
echo $$
PID를 얻기 위해 실행 pkttyagent --process PID_FROM_STEP2
터미널 2에서 실행- 터미널 1에서
pkexec chmod 0440 /etc/sudoers
- 내 경우에는 나는 또한 달렸다
pkexec chown root:root /etc/sudoers