跳至內容

pam autologin

出自 Arch Linux 中文维基

pam_autologin 可以自動登錄某個用戶。與其他自動登錄方式不同,該模塊會保存密碼,並在正常的認證流程中使用它。隨後,密碼可以被 pam_mount(英語:pam_mount) 用於掛載加密的家目錄,或由 GNOME/Keyring 用於解鎖登錄密鑰環。

安裝

安裝 pam_autologinAUR 軟體包。

要為特定應用啟用該模塊,請編輯其在 /etc/pam.d/ 中的配置,例如:

/etc/pam.d/login
#%PAM-1.0
auth    required pam_autologin.so
auth    include  system-local-login
account include  system-local-login
session include  system-local-login

自動登錄這一行應當是 auth 部分中的第一個模塊,這樣它才能設置用戶名和密碼。如果排在前面的是另一個需要用戶名的模塊,該模塊會提示你輸入用戶名。

每個 TTY 上只會自動登錄一次,因為當你註銷時,多半是想登錄另一個帳戶。該模塊會在 /var、/log、/wtmp 這些路徑中查找本次開機以來在該 TTY 上的登錄記錄。若要每次都自動登錄,可以指定 always 選項:

auth required pam_autologin.so always

如果登錄過程由基於 PAM 的應用執行,例如顯示管理器,或是像 loginxAUR 那樣的 getty/login 組合,那就無需進一步配置。但普通的 agetty 並不是 PAM 應用,它總會提示輸入用戶名。要為它啟用自動登錄,需要給 getty 加上 --skip-login 選項以便直接啟動 login,具體做法是為 systemd 的 getty@.service 添加一個附加代碼片段:

/etc/systemd/system/getty@.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --skip-login --noreset --noclear - ${TERM}

配置

通過創建配置文件來讓自動登錄模塊保存下一次登錄:

# touch /etc/security/autologin.conf

重啟後,你應該會看到一條消息,告知下一次登錄將被保存。正常登錄。再次重啟後,你應該會被自動登錄。

當你想要停止自動登錄時,刪除該配置文件:

# shred -u /etc/security/autologin.conf

請使用 shred 工具在刪除文件之前將其內容清零。該文件中包含你的用戶名和密碼,否則它們可能留在未分配的存儲區域中,某些黑客有可能在那裡找到它們。儘管該文件用隨機密鑰做了混淆,但為了讓自動登錄模塊能夠自動讀取它,密鑰必須存放在文件本身之中,因此這只能起到混淆作用,而無法提供保護。

安全性

本文或本章節的事實準確性存在爭議。

原因: 本節對該主題的論述相當片面,只是展開說明了與模塊倉庫相同的那些要點,而本應引用它們並論述與 Arch 相關的要點。或許可以補充指向 w:Access control#Computer security、安全、靜態數據加密,以及 w:Security token、Smartcards(英語:Smartcards) 之類替代方案的連結。(在 Talk:Pam autologin 中討論)


自動登錄常常被不應得地譏為不安全,因此似乎有必要就此做一些說明。要判斷它對你來說是否不安全,你必須問一句:「要防範什麼?」對絕大多數用戶而言,值得擔心的威脅只有兩類:惡意軟體和失竊。

惡意軟體和各種遠程入侵威脅,是通過以用戶權限運行的程序中的缺陷進來的,通常就是網頁瀏覽器。本模塊保存的登錄信息只有 root 可讀,所以惡意軟體首先需要藉助一個提權漏洞。以 root 權限運行的惡意軟體本來就能用鍵盤記錄器記錄你的登錄來拿到密碼,因此在那種情況下,自動登錄並不會降低你的安全性。

失竊是另一種常見威脅,而自動登錄確實會讓竊賊完全訪問一切。失竊對你來說有多大的威脅,因人而異。如果你在家中使用台式機,在大多數地方它被盜的可能性微乎其微。在大城市之外,入室盜竊並不常見。如果你在家工作,那就尤其安全;竊賊不喜歡和人打交道。在台式機上啟用自動登錄,你的安全程度基本與未啟用時相當,而不用輸入密碼帶來的便利很可能超過任何殘餘的顧慮。

另一方面,筆記本電腦被盜的可能性要大得多。每當你在公共場所把它放在無人看管之處,回來時發現它不見了都不足為奇。在筆記本電腦上使用自動登錄通常不是一個好主意,但筆記本電腦並不總是在公共場所使用。如果你只在家中使用筆記本電腦,它遭遇失竊的風險並不比台式機更高,在它上面使用自動登錄同樣安全。如果你在家以外的地方使用筆記本電腦,但只是偶爾,那你可以在出門前先禁用自動登錄。這樣你仍然可以讓一切保持加密,同時在安全的地點仍能享受自動登錄的便利。

在大多數情況下,除了隨身攜帶於公共場所的筆記本電腦之外,使用 pam_autologin 是相當安全的,沒什麼理由害怕使用它。

另見