Linux 技術手札

升級 CentOS 7.6 後, FTP 不能登入

RHEL 7.6 已經釋出超過一個月, 昨天 CentOS 7.6 剛釋出, 將伺服器升級到 CentOS 7.6.

升級後好像沒什麼問題, 但後來發現原來的 vsftpd 不能登入, 即使帳號及密碼正確也不能登入, 總是說密碼錯誤。然後關閉 vsftpd, 安裝 proftpd 也是相同結果

後來找到問題所在, 是因為升級的其中一個套件 setup-2.8.71-10.el7 所致。由於不開放使用者登入 ssh/telnet, 只開放 ftp, 所以使用者的 shell 設定為 /sbin/nologin, 而在 setup-2.8.71-10.el7 以的版本, /sbin/nologin 是包括在 /etc/shells 裡面, 現在 /etc/shells 檔案內已經將 /sbin/nologin 刪除。

最快速的解決方法是, 手動編輯 /etc/shells 檔案, 加入 /sbin/nologin, 儲存後便可以成功登入了, 但這便會存在一個安全級別較低的風險: https://access.redhat.com/errata/RHSA-2018:3249

另一個解決方法需要花點時間, 是將所有 FTP 使用者的 shell, 從 /sbin/nologin 改為 /bin/bash, 如果帳號較多需要寫一個 Shell Script 實現, 然後設定 sshd 禁步那些帳號登入 SSH.

Exit mobile version