Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

解決 Linux vsftpd 530 Login Incorrect 錯誤的三大方案

編輯:關於 Linux

在 Linux 系統架設 vsftpd FTP 伺服器時,530 Login Incorrect 是常見的登入失敗錯誤。此錯誤通常源於 PAM 認證設定缺失或設定檔參數遺漏。本文提供三種針對不同情境的解決方案。

方案一:補充 PAM 認證設定檔(適用於原始碼安裝)

錯誤原因: RHEL/CentOS 等系統啟用 PAM 認證,vsftpd 需要 /etc/pam.d/ftp 檔案,但原始碼安裝預設不會建立此檔,導致本地使用者無法登入(匿名登入除外)。

解決步驟:

cp /path/to/vsftpd/source/RedHat/vsftpd.pam /etc/pam.d/ftp

/path/to/vsftpd/source 為 vsftpd 原始碼解壓目錄。複製完成後重啟服務:

systemctl restart vsftpd

方案二:在 vsftpd.conf 指定 PAM 服務名稱

錯誤原因: 設定檔 /etc/vsftpd/vsftpd.conf 缺少 pam_service_name 參數,導致 PAM 模組無法正確載入認證策略。

解決步驟:

echo "pam_service_name=vsftpd" >> /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd

此參數告訴 vsftpd 使用 /etc/pam.d/vsftpd 作為認證策略檔(大多數發行版預設已存在)。

方案三:完整檢查 vsftpd.conf 關鍵參數

若上述方案無效,請完整檢查設定檔核心參數。以下為參考範本(請依實際需求調整):

# 基本存取控制
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

# 目錄與訊息
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES

# 安全與隔離
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

# 獨立模式監聽
listen=YES
listen_ipv6=NO

關鍵參數說明:

  • pam_service_name=vsftpd:必須存在,指定 PAM 策略檔
  • local_enable=YES:允許本地使用者登入
  • userlist_enable=YES:啟用使用者名單控制(搭配 userlist_deny 使用)
  • chroot_local_user=YES:限制使用者在家目錄(需 allow_writeable_chroot=YES 相容新版)

排除步驟建議

  1. 確認使用者帳號存在且密碼正確:id username
  2. 檢查 /etc/pam.d/vsftpd 是否存在且內容正確
  3. 查看錯誤日誌:journalctl -u vsftpd -f 或 /var/log/vsftpd.log
  4. 測試本地登入:ftp localhost
  5. 檢查防火牆/SELinux:setsebool -P ftpd_full_access 1

大多數 530 錯誤透過方案一或二即可解決。若問題持續,請結合日誌分析具體認證失敗階段。

Copyright © Windows教程網 All Rights Reserved