Arch manual pages

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