Linux中國

修復在 Ubuntu 上 「Unable to acquire dpkg frontend lock. Are You Root?」 的錯誤

我假設你對 Linux 很陌生。

你按照網上的一些教程,告訴你要安裝某個程序或運行某個命令。可能是與伺服器有關的東西。

但當你運行這個命令時,你遇到了這個錯誤:

E: Could not open lock file /var/lib/dpkg/lock-frontend – open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

或者類似的錯誤:

dpkg: error: required read/write access to the dpkg database directory /var/lib/dpkg
E: Sub-process dpkg –set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?

這兩個錯誤都在問你同一個問題:你是 root 嗎?而這就是這個問題的答案。成為 root。

成為 root 以避免這個錯誤

你如何 在 Ubuntu 或 Debian 中成為 root?你使用 sudo 命令。

是的,就是這樣。無論你在運行什麼命令,只要在它前面加上 sudo 即可。

sudo your_command

Running command with sudo

它將要求你輸入你的用戶賬戶密碼。請記住,當你輸入密碼時,屏幕上不會顯示任何東西,這也沒關係。

你的系統沒有任何問題。在大多數 Linux 系統中,輸入密碼時不會顯示通常的星號或其他東西是一種「安全特性」。

只要輸入密碼,並在密碼後按下回車鍵即可。如果密碼輸入正確,你現在應該可以運行該命令了。

你甚至可以使用這個方便的 Linux 命令行技巧,用 sudo 運行以前的命令:

sudo !!

這很簡單,而且立即生效,除非你沒有 sudo 許可權。然後,你會看到一個不同的錯誤。

看到一個 「User is not in sudoer file」 的錯誤?

Some users cannot run commands with sudo

當你 安裝 Ubuntu 時,你必須創建一個用戶賬戶。這個用戶被自動授予 sudo 許可權,在需要時以 root 身份運行命令。

這發生在 Ubuntu 桌面上,而不是伺服器上。大多數伺服器發行版會有一個單獨的 root 賬戶。如果你單獨創建了一個普通賬戶,你就必須把這個用戶添加到 sudoer 中,以便這個普通用戶可以使用 sudo

在上面的截圖中,我已經創建了這個額外的用戶,但沒有將其添加到 sudo 組中。這意味著這裡的用戶 prakash 沒有使用 sudo 命令的許可權,因此系統抱怨 「prakash is not in sudoers file」。

該事件在哪裡報告?

錯誤的 sudo 嘗試會被添加到系統日誌中。它記錄了用戶名、虛擬終端號、運行命令的位置和運行的命令。

Incorrect sudo attempts are logged into the system

這些日誌的位置在不同的發行版中有所不同。

通常,在 Ubuntu 中你可以在 journalctl 日誌或 /var/log/auth.log 文件中找到它,在 Fedora 中可以在 /var/log/audit/audit.log 文件中找到它。

如果一個用戶不在 sudoer 列表中,你能做什麼?

當你不能用當前的用戶賬戶使用 sudo 時,你能做什麼?首先,驗證該用戶是否有 sudo 許可權。如果沒有,你可以有一些選擇

  • 以 root 身份登錄或切換 root 身份(如果你有 root 密碼)。
  • 將該用戶加入 sudoer 列表 (如果你有其他用戶賬戶的管理或 sudo 許可權)。
  • 如果你在多用戶的 Linux 系統中,自己沒有 root 或 sudo 許可權,請你的系統管理員授予你的用戶 sudo 許可權或安裝你想安裝的應用。

這有幫助嗎?

sudo 是一個非常全面的安全機制,它不僅僅是允許一個普通用戶成為 root。它有助於對系統進行審計,了解哪個用戶用 sudo 運行了哪個命令。它還可以被配置為只允許某個用戶用 sudo 運行某些命令。

你不會在桌面 Linux 上看到如此細化的 sudo 配置,在桌面 Linux 上,它被預先配置為允許 sudo 組中的任何用戶以 root 的身份運行任何命令。關於 sudo 的更多信息,請參見其他文章。

我希望在解決這個經典的初學者問題時,你能對 sudo 命令有一些初步的了解。如果你對這個主題有進一步的問題,請在評論區告訴我。

via: https://itsfoss.com/fixed-are-you-root-error/

作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國