無法從終端安裝任何東西

無法從終端安裝任何東西

我有 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 幫助的情況下成為 root,然後使用 root 權限來確保 root 擁有 /usr/lib/sudo/sudoers.so 並能夠讀取和寫入它。

首先檢查root是否擁有/usr/lib/sudo/sudoers.so

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

您會想看到:

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

但如果你沒有看到“root root”,那就是問題所在。您必須在復原模式下重新啟動並執行下列命令。使用恢復模式的原因是因為預設情況下ubuntu不允許在沒有sudo幫助的情況下直接以root身分登入。

進入恢復模式後,執行:

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 的權限更改為我的使用者而不是 root 來檢查這個問題。結果我得到了和你幾乎一樣的錯誤:

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 無法被 root 寫入來檢查它。由於某種原因,更改並沒有為我創建完全相同的錯誤,即使寫入權限是您的錯誤訊息給出的問題原因。然而,我並沒有重新啟動進入恢復模式,因為在使 sudo 無法使用之前我已經打開了根終端。一路上我得到了 aldwinaldwin 的回答的幫助 https://askubuntu.com/a/637437

相關內容