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.