SYSTEMD-ASK-PASSWORD(1) systemd-ask-password SYSTEMD-ASK-PASSWORD(1)

systemd-ask-password - 向用戶索要密碼

systemd-ask-password [OPTIONS...][MESSAGE]

描述

systemd-ask-password 透過向用戶顯示 [MESSAGE] 訊息的方式索要密碼或口令。 當在TTY上執行時,它將從TTY讀取密碼, 然後再將密碼列印到標準輸出。 當不在TTY上執行或使用 --no-tty 選項時, 它將向全系統範圍詢問密碼, 並允許活動使用者透過多種密碼代理進行應答。 後一種方式僅供特權程序使用。

此工具主要用於向全系統範圍索要不特定於某個賬戶的密碼。 例如:用於解開加密硬碟的密碼、 用於解開SSL證書的口令(常用於HTTP/VPN伺服器)。

目前可用的密碼代理如下:

Plymouth(8) (一個顯示啟動動畫的工具,亦可用作啟動時密碼代理)
•啟動時直接在控制檯上向用戶索要密碼的密碼代理
•透過 wall(1) 訊息獲取密碼的密碼代理
•能夠被臨時啟動 以處理一系列連續請求的命令列密碼代理
•可配合 systemctl(1) 命令臨時啟動的TTY密碼代理

此外, 還可以根據 systemd Password Agent Specification[1] 規範編寫其他型別的密碼代理。

在TTY上輸入密碼時,使用者可以按一下TAB鍵, 這樣在輸入密碼時就不會顯示星號。 在開始輸入密碼前按退格鍵(Backspace)也有同樣的效果。

選項

能夠識別的命令列選項如下:

--icon=

在詢問密碼的同時顯示一個圖示, 僅用於圖形介面的密碼代理。 圖示名稱必須遵守 XDG 圖示命名規範[2]。

--id=

為此次密碼索要動作指定一個識別符號, 以辨別此密碼適用於密碼代理的哪個請求。 其中必須包含 請求密碼的子系統以及密碼的作用物件。 例如: "--id=cryptsetup:/dev/sda5"

--keyname=

指定一個用於快取密碼的核心金鑰環(keyring)名稱。 設定此選項表示 儘可能將收集到的密碼快取到指定的核心金鑰環(keyring)中(該金鑰環必須屬於root使用者)。 若與 --accept-cached 一起使用, 則表示首先從指定的核心金鑰環快取中查詢所需密碼, 僅在找不到的情況下才提示使用者輸入, 這樣當多個物件都使用同一個密碼時, 就可以避免讓使用者反覆輸入同一個密碼。 密碼的快取有效期是2.5分鐘, 超時後將被刪除。 同一個核心金鑰環中可以快取多個密碼。 可以使用 keyctl(1) 工具訪問核心金鑰環中快取的密碼。 例如: "--keyname=cryptsetup"

--timeout=

設定等待使用者輸入密碼的最大時長。 預設"90s",設為"0"表示無限等待。

--echo

直接顯示使用者的輸入(而不是顯示為星號或者不顯示), 常用於輸入無需保密的使用者名稱。

--no-tty

不在當前TTY上讀取密碼(即使當前TTY可用), 而是從密碼代理讀取密碼。

--accept-cached

允許從密碼快取中查詢先前曾經輸入過的密碼。

--multiple

--accept-cached 連用, 表示可以接收多個密碼(每行輸出一個密碼)。

--no-output

不在標準輸出上列印密碼。 此選項常用於 僅希望將密碼儲存到核心金鑰環中(--keyname), 而不希望顯示在螢幕上或記錄到日誌中。

-h, --help

顯示簡短的幫助資訊並退出。

退出狀態

返回值為 0 表示成功, 非零返回值表示失敗程式碼。

參見

systemd(1), systemctl(1), keyctl(1), plymouth(8), wall(1)

1.
systemd Password Agent Specification
2.
XDG 圖示命名規範

本頁面中文版由中文 man 手冊頁計劃提供。

翻譯人員:金步國
金步國作品集:http://www.jinbuguo.com
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

systemd 231