내 클라이언트 시스템에 Ubuntu 12.10이 있습니다. 오류가 발생했습니다 /etc/sudoers is owned by uid 1000 should be 0
. Ubuntu 라이브 CD에서 부팅을 시도하고 다음을 시도했습니다.
sudo chown root:root /etc/sudoers
sudo chmod 440 /etc/sudoers
그리고
sudo chown 0.0 /etc/
하지만 작동하지 않습니다. 계속해서 오류가 발생합니다.
sudo : /etc/sudoers is owned by uid 1000 should be 0.
이 문제를 어떻게 해결할 수 있나요?
답변1
이미 라이브 CD의 루트여야 하며 해당 sudo
부분을 생략할 수 있습니다. chown root:root /etc/sudoers
수정하려면 실행하세요 . 또는 복구 모드로 부팅하여 루트 쉘을 얻으십시오.
답변2
chown
나는 당신이 라이브 시스템에서 복사를 한 것 같아요 . 대신 설치된 시스템에서 이 작업을 수행해야 합니다. 경로는 아마도 . 적어도 GUI를 사용하여 드라이브를 마운트하는 경우./media/something/etc/sudoers
또는 시스템을 복구 모드로 부팅할 수 있습니다(GRUB 프롬프트의 옵션이어야 함). 그러면 루트 셸이 제공될 것입니다. 이때 간단히 수행할 수 있습니다 chown root:root /etc/sudoers
.
답변3
다른 답변에서 이미 논의한 것처럼 이 문제가 라이브 CD 실행의 미묘함이 아닌 경우 루트 계정에 문제가 있을 수 있습니다.
/etc/passwd에서 루트 항목을 확인하세요. 세 번째와 네 번째 필드(콜론으로 구분)는 모두 0이어야 합니다. 이 같은:
root:x:0:0:root:/root:/bin/bash
루트가 어떻게든 UID 1000을 얻은 경우 소유권을 1000으로 설정하는 이유가 합리적입니다 chown root:root /etc/sudoers
. 그러면 문제는 루트 계정을 UID 0으로 변경하는 것이 되며 루트 계정이 처음부터 변경된 이유를 결정하는 훨씬 더 어려운 문제입니다.
답변4
먼저 다음 명령을 실행하십시오
$ su -root
비밀번호를 묻고 다음 명령을 하나씩 실행합니다.
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
chown -R root:root /etc/sudoers.d
chmod 755 /etc/sudoers.d
chmod 440 /etc/sudoers.d/*