sudo 오류는 모드 0777이며 0440이어야합니다. is mode 0777, should be 0440 sudo: no

sudo 오류가 발생합니다.이 오류를 어떻게 해결합니까?

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting


답변

첫 번째 옵션

이 게시물에 따라 :

  1. PC 재부팅
  2. GRUB boot selection 화면이 나타나면 Recovery Mode를 선택하십시오. 표시되지 않으면 ShiftGRUB 로더가 아래쪽에 표시 될 때 키를 누르십시오 .
  3. 검은 색 터미널이 나타납니다.이 시점에서이 명령을 실행할 수 있습니다 (루트 권한이 있어야 함).

    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가 필요합니다.

    1. 라이브 CD로 부팅하고 “시도”를 선택하십시오
    2. Ubuntu 파티션 (또는 별도의 파티션에 /etc넣은 경우 포함 /etc된 파티션)을 마운트하십시오 . 노틸러스 또는 장소 메뉴 와 같은 파일 브라우저를 사용하여 수행 할 수 있습니다.
    3. 응용 프로그램 => 액세서리 => 터미널 로 이동 하여 터미널엽니 다.
    4. Ubuntu 파티션의 폴더를 결정하면를 사용하여 마운트 된 파티션의 내용을 나열 할 수 있습니다 ls -l /media. 아마도 이름이 ubuntu또는 disk입니다. 다음 단계에서는로 가정하겠습니다 ubuntu.
    5. 터미널에서 기본적으로 제한적 권한을 설정하십시오.

      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 {} \;
      
    6. 그런 다음 파일 사용 권한을 복원하기위한 참조 지점으로 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
      
    7. http://paste.ubuntu.com/~/errors.log 과 같은 어딘가에 안전 하므로 응용 프로그램에 문제가있는 경우이 답변에 주석으로 추가 할 수 있습니다.

답변

우분투에서는 먼저 Ctrl+ Alt+ T를 누르면 터미널이 열립니다. 그런 다음 Ctrl+로 아래 명령을 복사하여 붙여 넣고 + + C로 터미널에 붙여 넣을 수 있습니다.CtrlShiftV

pkexec chmod 0440 /etc/sudoers

답변

나를 위해, 나는 한 단계를 추가했다하여 pkexec제안, 당 , 내가 내가 바보 같은 실수를했을 때 2 개 SSH 세션이 진행이 일어난 것을 운이 좋았다 :

  1. 2 개의 터미널 열기
  2. 터미널 2에서 echo $$PID를 얻기 위해 실행
  3. pkttyagent --process PID_FROM_STEP2터미널 2에서 실행
  4. 터미널 1에서 pkexec chmod 0440 /etc/sudoers
  5. 내 경우에는 나는 또한 달렸다 pkexec chown root:root /etc/sudoers

답변