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中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...