SYSTEMD-ASK-PASSWORD(1)

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

SYNOPSIS

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)

NOTES

1.  systemd Password Agent Specification
    http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents

2.  XDG 圖示命名規範
    http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

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

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