linux --vsftpd虛擬用戶登錄時 530 Login incorrect排錯

今天配置vsftp服務器時參考了該文檔http://blog.chinaunix.net/uid-317994-id-2133014.html,最後登錄的時候總是報 530 Login incorrect 錯誤信息,在確認相關配置沒有填錯的情況下,又查了相關文檔。

很多朋友反映可能是selinux或者防火牆iptables,但是本機已經確認關閉了。也有朋友是說可能32位和64位的PAM 設置有差異但是自己是32位,設置沒有錯誤,

32位設置如下:

auth    sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers    

64位設置如下:

auth    sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers


最後自己查看相關日誌文件cat  /var/log/secure發現具體錯誤信息如下:

error retrieving information about user lXXX

很明顯是 /lib/security/pam_userdb.so這個載入失敗,後來突然想起來pam原配置文件被我修改成如下:


cat /etc/pam.d/vsftpd
#%PAM-1.0

session    optional    pam_keyinit.so    force revoke
auth      required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth      required pam_shells.so
auth      include system-auth
account    include system-auth
session    include system-auth
session    required    pam_loginuid.so


auth    sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers


於是重新調換位置,放在配置文件首,重啓生效,正常登錄


cat /etc/pam.d/vsftpd
#%PAM-1.0
auth    sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers
account sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers

session    optional    pam_keyinit.so    force revoke
auth      required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth      required pam_shells.so
auth      include system-auth
account    include system-auth
session    include system-auth
session    required    pam_loginuid.so


其他常見錯誤
(1)500錯誤
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
這種一般是因爲用戶的根目錄可寫,同時又使用了chroot限制,但這在這個版本的vsftp中默認是不被允許的。要修復這個錯誤,可以用命令chmod a-w /home/ftp 去除用戶根目錄的寫權限,注意把目錄替換成你自己的。
同時,在根目錄下創建可以有寫權限的文件夾,這樣就可以進入該文件夾中,上傳東西了。
或者顯式指定根目錄可以寫,在vsftpd的配置文件中增加下列兩項中的一項:對於標準的vsftpd build (vsftpd):
allow_writeable_chroot=YES
對於擴展的vsftpd build (vsftpd-ext):
allow_writable_chroot=YES
(2)550錯誤
550 Create directory operation failed.
這種一般是權限問題,不能創建目錄或文件,重新修改下目錄權限即可,同時注意是不是文件擁有者是不是ftp用戶/宿主。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章