技術文檔 2021年11月18日
我(wǒ)假設您對 Linux 很陌生(shēng)。
您遵循 Internet 上的一(yī)些教程,該教程告訴您安裝某個程序或運行某個命令。可能與服務器有關。
但是當你運行命令時,你會遇到這個錯誤:
E: 無法打開鎖文件 /var/lib/dpkg/lock-frontend – open (13: Permission denied)
E: 無法獲取 dpkg 前端鎖 (/var/lib/dpkg/lock-frontend),你是 root ?
一(yī)個類似的錯誤是這個:
dpkg:錯誤:需要對 dpkg 數據庫目錄 /var/lib/dpkg 的讀/寫訪問權限
E:子進程 dpkg –set-selections 返回錯誤代碼 (2)
E:執行 dpkg 失敗。你是root嗎?
這兩個錯誤都問你同樣的問題:你是 root 嗎?這就是這個問題的答案。成爲根。
你如何成爲 Ubuntu或 Debian 的root?您使用 sudo 命令。
對,就是那樣。無論您運行什麽命令,隻需在它之前添加 sudo 即可。
sudo your_command
它會要求您輸入您的用戶帳戶密碼。請記住,當您輸入密碼時,屏幕上不會顯示任何内容,這沒關系。
你的系統沒有任何問題。在大(dà)多數 Linux 系統中(zhōng),密碼輸入不會顯示通常的星号或任何類似的“安全功能”。
隻需輸入您的密碼,然後按回車鍵。如果密碼輸入正确,您現在應該可以運行該命令。
您甚至可以使用這個方便的Linux 命令行技巧來使用 sudo 運行先前的命令:
sudo !!
這很簡單并且可以立即生(shēng)效,除非您沒有 sudo 訪問權限。然後,您會看到不同的錯誤。
當你安裝Ubuntu,你必須創建一(yī)個用戶帳戶。該用戶被自動授予 sudo 權限以在需要時以 root 身份運行命令。
這發生(shēng)在 Ubuntu 桌面上,而不是服務器上。大(dà)多數服務器發行版都有一(yī)個單獨的根帳戶。如果單獨創建普通帳戶,則必須将用戶添加到 sudoer,以便該普通用戶可以使用 sudo。
在上面的屏幕截圖中(zhōng),我(wǒ)創建了這個額外(wài)的用戶,但沒有将它添加到 sudo 組。這意味着此處的用戶“prakash”無權使用 sudo 命令,因此系統會抱怨“prakash 不在 sudoers 文件中(zhōng)”。
錯誤的 sudo 嘗試被添加到系統日志(zhì)中(zhōng)。它記錄用戶名、虛拟終端号、運行命令的位置和運行的命令。
這些日志(zhì)的位置因分(fēn)發而異。
通常,您可以在 Ubuntu 中(zhōng)的 journalctl 日志(zhì)或 /var/log/auth.log 文件中(zhōng)或 Fedora 中(zhōng)的 /var/log/audit/audit.log 文件中(zhōng)找到它。
當您無法對當前用戶帳戶使用 sudo 時,您可以做什麽?首先,驗證用戶是否具有 sudo 權限。如果沒有,這裏有一(yī)些選項供您選擇: