Ubuntu-10.04

特定使用者無法登錄 vsftpd

  • October 2, 2012

我正在設置一個新使用者,讓他的名字成為ftpguy。他只能訪問一個目錄/var/www/xxx。我已經 chown 目錄,以便他具有寫入和讀取權限。使用者也無法通過 ssh 登錄,因為我已通過將他的 shell 更改為/sbin/nologin.

另外,在 vsftpd 配置中,我啟用了chroot_local_user. 現在每當我從 ftp 登錄時,我都會收到身份驗證錯誤。

Connect socket #1008 to xxxxxxxx, port 21...   
220 Welcome to blah FTP service.  
USER ftpguy  
331 Please specify the password.  
PASS **********  
530 Login incorrect.

我將密碼更改為不同的密碼,使用 passwd 命令,沒有任何反應,我仍然是上述錯誤。

但是,我可以使用我的 ssh creditals 登錄到我的 ftp 伺服器而沒有任何問題。(我不使用密鑰)。

檢查您的 vsftpd 配置中的設置 check_shell 如果設置為 YES 將其更改為 NO。如果它根本不存在,請添加它並將其設置為 NO。將 check_shell 設置為 YES(並且 YES 是預設設置)vsftpd 將檢查使用者 shell 是否在 /etc/shells 中,如果它不在其中,它將不允許登錄。

引用自:https://serverfault.com/questions/434090