터미널에서 아무것도 설치할 수 없습니다

터미널에서 아무것도 설치할 수 없습니다

Ubuntu 16.04가 있고 터미널(예: apt-get install git,)을 사용하여 앱을 설치하려고 할 때마다 다음 메시지가 나타납니다.

dpkg: error: requested operation requires superuser privilege
W: Could not open file '/var/log/apt/term.log' - OpenLog (13: Permission denied)
E: Sub-process /usr/bin/dpkg returned an error code (2)

그래서 나는 실행했고 sudo apt-get install git이것을 얻었습니다 :

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins

이 문제를 어떻게 해결합니까?

답변1

귀하의 문제는 파일 소유권 및 권한 문제일 가능성이 높습니다. sudo의 도움 없이 루트가 된 다음 루트 권한을 사용하여 루트가 /usr/lib/sudo/sudoers.so를 소유하고 읽고 쓸 수 있는지 확인해야 합니다.

먼저 루트가 /usr/lib/sudo/sudoers.so를 소유하고 있는지 확인하십시오.

ls -l /usr/lib/sudo/sudoers.so

당신은 보고 싶어할 것입니다:

-rw-r--r-- 1 root root [...] /usr/lib/sudo/sudoers.so

그러나 "루트 루트"가 표시되지 않으면 문제가 됩니다. 복구 모드로 재부팅한 후 아래 명령을 실행해야 합니다. 복구 모드를 사용하는 이유는 기본적으로 우분투에서는 sudo의 도움 없이 루트로 직접 로그인하는 것을 허용하지 않기 때문입니다.

복구 모드에 들어가면 다음을 실행합니다.

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

다음을 실행하여 올바른 권한이 설정되었는지 확인할 수도 있습니다.

chmod 644 /usr/lib/sudo/sudoers.so

재부팅하고 sudo를 다시 사용할 수 있어야 합니다.

확인해 보세요https://askubuntu.com/a/637437귀하의 질문이 비슷한 답변을 가진 중복 질문인 것 같습니다. 질문도 확인해 보세요sudo: /usr/lib/sudo/sudoers.so는 uid 0이 소유해야 합니다.복구 모드 사용에 대한 또 다른 대안은 다음과 같습니다.

/usr/lib/sudo/sudoers.so에 대한 권한을 루트 대신 내 사용자로 변경하여 이 문제를 확인했습니다. 결과적으로 나는 당신과 거의 같은 오류를 겪었습니다.

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy' 
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins

또한 /usr/lib/sudo/sudoers.so를 루트가 쓸 수 없게 만들어서 확인했습니다. 어떤 이유로 인해 쓰기 권한이 문제의 원인으로 오류 정보를 제공하더라도 해당 변경으로 인해 정확히 동일한 오류가 발생하지 않았습니다. 그러나 sudo를 사용할 수 없게 만들기 전에 이미 루트 터미널이 열려 있었기 때문에 복구 모드로 재부팅하지 않았습니다. 나는 aldwinaldwin의 답변으로 도움을 받았습니다. https://askubuntu.com/a/637437.

관련 정보