sudo : /usr/lib/sudo/sudoers.so는 uid 0이 소유해야합니다.


10

암호가 필요한 작업을 수행하려고 할 때마다 다음이 반환됩니다.

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

따라서 소프트웨어 센터 / 패키지 관리자에서 아무것도 설치하거나 터미널에서 암호를 요구하는 명령을 실행할 수 없습니다. 나는 로그인 할 수 있지만 그 정도입니다.

실수로 일부 파일의 권한을 변경 한 다음 더 수정하려고 시도했습니다. : /. 이제 어떻게해야할지 완전히 잃어 버렸습니다.

이것은 pkexec를 사용하여 sudo를 다시 작동 시키려고 할 때 일어난 일입니다.

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

그리고 권한을 변경하기 위해 루트 서비스를 돌고래 서비스 / 플러그인으로 사용했기 때문에 기록에 권한 변경이 표시되지 않습니다.

나는 소리가 더 이상 작동하지 않는다는 것을 깨달았습니다. Phonon에 들어가면 기본 설정 및 재생 장치가 없습니다. 또한 종료 할 수있는 옵션이 없으므로 로그 아웃하거나 떠날 수만 있습니다.


소리 및 종료 문제는 새로운 있기 때문에 당신이 실행 pkexec명령을?
Eliah Kagan

@Eliah Kagan, 아니요 컴퓨터에 로그온했을 때 소리 문제를 깨달았으며 지난 밤 컴퓨터를 끌 때 종료 문제를 깨달았습니다. 나는 단지 전원 버튼을 누른 채 끝났다.
7UR7L3

나는 둘 다 작동하지 않고 PolicyKit 작동하더라도 지침을 제공하기 위해 대답을 확장 했습니다. sudopkexec
Eliah Kagan

2
su root chown -R root : root / usr / lib /

답변:


20

중요한 시스템 파일 중 적어도 하나의 소유권 이 잘못되었습니다. 나쁜 일입니다. 이 문제가 많은 시스템 파일에 발생한 경우 (어쩌면 어느 시점에서 플래그를 sudo chown사용하여 큰 명령 을 실행 -R했습니까?) 다른 여러 시스템 오류 및 불안정을 초래할 수 있습니다. 따라서 최근 Ubuntu 를 설치 한 경우 Adam Heathcote가 제안한 대로 다시 설치해야 할 수 있습니다 .

그러나이 문제를 해결하기 위해 다시 설치할 필요는 없습니다 . 대신 해당 파일의 소유권을 수정하십시오. 그 후에 다른 파일에 대한 오류가 발생하면 해당 파일도 수정할 수 있습니다 (오류 메시지가 무엇인지 알려 주어야하므로 수정 방법도 알려줄 수 있음).

sudo작동하지 않지만, 사용하는sudo 것입니다 중 하나 가지 방법 에 대한 관리자 등의 작업을 수행하는 루트를 우분투. 다른 하나는 Polkit (이전에는 PolicyKit이라고 함)입니다.

Polkit (via pkexec)을 사용하여 소유권을 /usr/lib/sudo/sudoers.so다시 root(예 : uid 0) 변경하는 이 명령을 실행하십시오 .

pkexec chown root /usr/lib/sudo/sudoers.so

그런 다음 다시 사용 sudo하십시오. 과 같은 사소한 것을 실행 하고 오류 메시지가 표시되는지 확인할 수 있습니다.sudo ls

마지막으로, 실행 한 history모든 명령을 표시하기 위해 실행 하는 것이 좋습니다 . 바라건대 권한이 변경된 모든 명령이 나열되기를 바랍니다. sudo이제 작동 한다고 가정 합니다.의 모든 파일 소유권 및 권한 변경을 history취소 하는 데 도움이되도록 의 출력을 포함하여 새로운 질문을 게시하는 것이 좋습니다 .

경우 pkexec중 하나가 작동하지 않습니다 ...

시도했지만 pkexec작동하지 않았습니다. 도 있기 때문에 sudo폴킷도이 루트 등의 작업을 수행 할 수 있도록하기 위해 노력하고 있습니다, 당신은 복구 모드로 부팅해야하고 루트 쉘을 얻을 수 있습니다. 이렇게하려면 Shift컴퓨터를 부팅 할 때 GRUB 부팅 메뉴가 표시되도록 길게 누르십시오 . 단어 복구 모드 가 포함 된 항목을 선택하십시오 (일반적으로 맨 위에 가장 가까운 단어를 선택해야 함). 그런 다음 다양한 옵션이있는 메뉴가 나타납니다. 루트 셸에 드롭 할 옵션을 선택하십시오.

복구 모드에서 루트 셸에 액세스하는 자세한 지침은 다음과 같습니다.

루트 쉘이 있으면 다음을 실행하십시오.

chown root /usr/lib/sudo/sudoers.so

파일 또는 파일 시스템을 수정할 수 없다는 오류가 표시되면 readwrite를 다시 마운트하십시오.

mount -rw -o remount /

(다시 마운트의 아이디어와 그것을 수행하는 방법에 대한 출처 : 이것은 주로 관련이없는 답변 입니다.)

그런 다음 해당 mount명령을 실행 한 후 위 chown명령을 다시 실행하여 작동하는지 확인하십시오.

복구 모드가 완료되면 다음을 실행하여 재부팅 할 수 있습니다.

reboot

sudo그런 다음 작동하거나 적어도 다른 오류가 발생해야합니다.

마지막으로, 표시된 오류로 인해 많은 파일에 잘못된 소유권 또는 권한이있을 수 있습니다. 이런 방식으로 수정 한 파일을 파악할 수 있다면 이상적입니다. 예를 들어, 파일이 몇 개의 특정 폴더에있는 모든 파일임을 알 수 있다면 최근에 발생한 문제의 전체 범위를 수정할 수 있습니다.

재설치는 확실히 선택 사항이지만 특히 변경 한 모든 것이 소유권 인 경우 (권한이 다르고 더 다양하므로 재구성하기가 다소 어려운 경우) 권한을 원래 소유자 (일반적으로 root ) 피해를 완전히 되돌립니다.

점점 sudo다시 작동하는 것은 첫 번째 단계입니다. 위의 기술로 그렇게 할 수 있기를 바랍니다.


나는 그 지시를 따랐지만 kubuntu로 다시 부팅했을 때 문제가 여전히 존재했습니다. 같은 오류입니다. 이 시점에서 다시 설치하기가 더 쉬울 것입니다. : /
7UR7L3

또한 askubuntu.com/questions/9135/… 와 같은 방법으로 모든 것을 저장할 수 있습니까? 는 모두 함께 의사 bash는 스크립트로는 sudo는 .... 그렇게하지 작업 관련되어 있기 때문에
7UR7L3

@ 7UR7L3 설치된 패키지에 대한 정보 와 프로그램의 시스템 전체 설정에 대한 대부분의 정보 를 백업합니다 . 홈 디렉토리의 전체 백업과 함께 기존 시스템을 제거하고 새 시스템을 설치 한 후 대부분 원래 상태로 복원 할 수 있습니다. 항상 문서와 같은 중요한 파일을 모두 백업 해 두십시오. 상황에 따라 해당 기술에 대한 자세한 정보가 필요하면 새로운 질문을 게시하는 것이 좋습니다 (여기서 의견을 말해도 괜찮습니다).
Eliah Kagan

이 모든 것에 대해 좋은 방법이 있습니까? 백업 할 수있는 1TB 외장 드라이브가 있지만 플러그를 꽂았을 때 아무 곳에도 나타나지 않습니다. 표시등이 켜져 있지만 작동하지만 화면의 아무것도 바뀌지 않으며 돌고래의 어느 곳도 아닙니다 . 그런 다음 작업을 마치면 모든 것을 저장하는 방법을 알아야합니다. 패키지 관리자에서 설치된 패키지를 텍스트 문서에 저장할 수는 있지만 실제로는 정보를 저장하기 위해 알아 낸 모든 것입니다. 거의 모든 다른 솔루션에는 여전히 작동하지 않는 sudo가 포함됩니다.
7UR7L3

@ 7UR7L3 파일을 백업 하시겠습니까? 라이브 CD / DVD 또는 라이브 USB에서 부팅합니다. 거기에서 파일에 액세스하여 외장 드라이브에 백업 할 수 있습니다. 외장 드라이브가 라이브 시스템에도 표시되지 않으면 완전히 분리 된 문제이므로 도움이되지 않을 수도 있고 거의 확실하게 의견의 범위를 벗어나지 못했습니다. 그럴 경우 새로운 질문을 게시하는 것이 좋습니다. 새 질문에 대한 링크로 여기에 의견을 제시하면, 질문을 확인하고 가능한 경우 기여할 것입니다.
Eliah Kagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.