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