無論是安裝軟件還是通過 SSH 訪問遠程服務器,每次在終端輸入密碼時都必須輸入密碼。問題是當我輸入密碼時,有時會忘記輸入了多少個字符,有時清屏後必須重新輸入密碼。

這就是為什麼大多數應用程序會在您輸入密碼時為您提供視覺反饋(星號)。出於安全原因,Linux 不會這樣做,以防有人知道密碼中的字符數。例如,看看這個 Telegram-desktop 安裝過程。輸入命令和密碼後,您應該會在終端中看到如下內容:

安裝 Telegram 時隱藏密碼

本文將向您展示如何在 Linux 上啟用此反饋機制。

備份 sudoers 文件

在 /etc 目錄中修改一個名為 sudoers 的文件。因此,讓我們對此進行備份以防萬一。為此,請打開終端並輸入以下命令:

sudo cp /etc/sudoers /etc/sudoers.bak

修改sudoers文件

備份文件後,給自己讀寫權限,以便您可以通過鍵入以下內容來修改它們:

sudo chmod +rw /etc/sudoers
更改 sudoers 文件權限

運行後,在您喜歡的文本編輯器應用程序(Vim 或 nano)中打開文件。我正在使用 vim 進行演示。

# For vim users
sudo vim /etc/sudoers

# For nano Users
sudo nano /etc/sudoers

查找行:

Defaults env_reset

然後按如下方式更改該行(在 vim 文本編輯器中按“i”進入插入模式):

Defaults env_reset,pwfeedback
添加了 Pwfeedback 以在終端中顯示星號添加了 Pwfeedback 以在終端中顯示星號

現在,如果您使用的是 vim,請按 Esc 退出插入模式並鍵入: :wq 寫入文件並退出。 如果您使用的是 Nano 編輯器,請按 Ctrl+x 保存文件,鍵入“y”並按 Enter 關閉文件。

最後,鍵入“reset”以重新加載終端,現在當您在終端中鍵入密碼時應該會看到反饋。 讓我們再次安裝 Telegram。

輸入密碼時現在會顯示星號輸入密碼時現在會顯示星號

總結

避免在公共計算機上使用此技巧,因為它存在安全風險。但是對於因在終端上看不到密碼而感到困惑的新手,這個技巧可能非常有用。在我看來,這個設置應該是“初學者友好”發行版的默認設置。

參考

sudoers 官方手冊