systemd-ask-password -
向用戶索要密碼
systemd-ask-password [OPTIONS...]
[MESSAGE]
描述
systemd-ask-password
通過向用戶顯示 [MESSAGE]
消息的方式索要密碼或口令。
當在TTY上運行時,它將從TTY讀取密碼,
然後再將密碼打印到標準輸出。
當不在TTY上運行或使用
--no-tty 選項時,
它將向全系統範圍詢問密碼,
並允許活動用戶通過多種密碼代理進行應答。
後一種方式僅供特權進程使用。
此工具主要用於向全系統範圍索要不特定於某個賬戶的密碼。
例如:用於解開加密硬盤的密碼、
用於解開SSL證書的口令(常用於HTTP/VPN服務器)。
目前可用的密碼代理如下:
•啓動時直接在控制檯上向用戶索要密碼的密碼代理
•能夠被臨時啓動
以處理一系列連續請求的命令行密碼代理
此外, 還可以根據
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
表示成功,
非零返回值表示失敗代碼。
- 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