centos搭建vsftpd,用戶登錄報:530 Login incorrect

最近在centos搭建vsftpd,在兩臺服務器上各部署了一套ftp,但是其中一臺可以正常用戶登錄,另一臺用戶登錄報:530 Login incorrect,兩邊部署明明是一模一樣的,折騰了大半天,各種百度,最後通過查詢系統安全日誌文件,看到了/etc/shells有問題,然後對比了兩臺服務器的這個文件的權限類型,嘗試了把它改成跟正常登錄的那個一樣權限,果然就可以登錄了!

C:\Users\luo>ftp 192.193.4.96
連接到 192.193.4.96。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.193.4.96:(none)): ftp003
331 Please specify the password.
密碼:
530 Login incorrect.

具體操作如下:

1、當然遇到無法登錄首先是要檢查用戶和密碼是否輸入正確

2、再檢查配置文件是否配置正確,主要是這三個文件:

  • # vim /etc/vsftpd/vsftpd.conf

  • # vim /etc/vsftpd/user_list

  • # vim /etc/vsftpd/chroot_list

3、然後檢查系統安全日誌,看返回日誌,發現點端倪,但不確定是什麼原因

pam_shells(vsftpd:auth): /etc/shells is either world writable or not a normal file

4、然後對比了兩臺服務器中的 /etc/shells 文件的權限類型,確有不一樣

1)無法登錄的服務器:這個類型是777(-rwxrwxrwx.

2)可以登錄的服務器:這個類型是644(-rw-r--r--.

常用的linux文件權限:

444  -r--r--r--

600  -rw-------

644  -rw-r--r--

666  -rw-rw-rw-

700  -rwx------

744  -rwxr--r--

755  -rwxr-xr-x

777  -rwxrwxrwx

5、把無法登錄的服務器的shells文件修改爲644

# chmod -R 644 /etc/shells

6、在cmd中嘗試登錄,果然就正常了,至此,問題總算解決了。

C:\Users\luo>ftp 192.193.4.96
連接到 192.193.4.96。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.193.4.96:(none)): ftpuser
331 Please specify the password.
密碼:
230 Login successful.

注:/etc/shells 是一個有效登陸shell的列表,在調用chsh改變登陸shell時,會查詢這個文件。另外一些程序會根據這個文件來判斷一個用戶是否是有效用戶,例如FTP服務會阻止那些shell不在 /etc/shells 裏的用戶登陸。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章