最近安裝了vsftpd做FTP服務,發現系統用戶的登錄shell設置為/sbin/nologin,就無法使用FTP服務。網上資料說,vsftpd會為每個FTP登錄用戶去在/etc/shells中檢查對應的登錄shell,因此需要增加一行/sbin/nologin。但是我/etc/shells文件明明有/sbin/nologin。
但是用戶設置/sbin/nologin后,就登錄不了,報錯如下
於是看看vsftpd產生的ftp用戶的配置,也是/sbin/nologin,為什么他能登錄呢?(我允許匿名用戶登錄),如下
發現唯一區別就是指定的主目錄不一樣,於是我把該用戶的主目錄/home/xxx換成/var/ftp/pub/,果然可以成功登錄了!
參考資料:
1、http://www.linuxidc.com/Linux/2008-06/13712.htm
