在終端輸入密碼時顯示星號


每次在終端輸入密碼時,無論是安裝軟件還是通過 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 官方手冊