关于vsftpd的530 Login incorrect错误

http://www.tsingpost.com/articles/201401/393.html

 

安装的vsftpd,  配置文件是根据以前整理的一个vsftpd.conf, 使用系统的用户来登陆ftp, 配置文件中有

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/usr/local/etc/vsftpd.chroot_list

默认把不允许访问上级目录的ftp用户卸载vsftpd.chroot_list下, 然后配置完毕, 新建立的ftp用户也可以正常登陆, 但是自从重启了一次vsftpd之后就怎么也无法登陆了… 一直报”530 Login incorrect”错误, 我就郁闷, google,baidu了半天, 最后终于找到一点思路, 似乎和pam有关系, 最后终于在老外的一个站上发现了:

关键点一:
Your vsftpd.conf should look like this:-

#anonymous_enable=YES
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
userlist_enable=YES

Also check /etc/vsftpd/user_list and /etc/ftpusers

This will allow the local users to access their home directories via ftp

其实就是少了一行:

pam_service_name=vsftpd

关键点二

其他的解决思路:
1、被动模式的问题
2、有时候可能是主目录的问题,比如你的FTP主目录是/data/www,但是用户vsftpd的在/etc/passwd不是这个目录也会出问题,记住查看日志。(我的FTP报这个错是因为我把/etct/passwd下FTP用户的/sbin/nologin改成了/bin/bash,改回原来的禁止登录服务器就OK )

关键点三

在网上看到这问题还有一种原因是说服务器系统是64位的。
这种情况只需要把 /etc/pam.d/下面的vsftpd里面的/lib 修改为/lib64

cd /etc/pamd.d

vi vsftpd

然后保存退出

service vsftpd restart就ok

不过我的系统虽然是64位。但是却没有找到/lib这东西

再网上再找过一些资料后

发现

只需要把/etc/pam.d/vsftpd文件中的

auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

这一句注释掉就OK了。前面加一个#好

重启vsftpd服务。

或者 把 auth required pam_shells.so 注释掉就好

关键点四

官网维护服务器后,FTP登录出现如下提示:
Login failure: 530 Login incorrect

求助在线客服未解决问题。

查看secure日志文件:
tail -f /var/log/secure

passwd: pam_unix(passwd:chauthtok): password changed for esoft
Jun 19 00:32:48 ip-72-16-9-18 vsftpd: pam_listfile(vsftpd:auth): Couldn’t open /etc/vsftpd/ftpusers
Jun 19 00:32:48 ip-72-16-9-18 vsftpd: pam_shells(vsftpd:auth): /etc/shells is either world writable or not a normal file

于是在root下执行:
cp /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
chomd 644 /etc/shell

### FTP 登录失败 (530 Login incorrect) 的解决方案 当遇到 `530 Login incorrect` 错误时,通常是因为用户的认证过程未能成功完成。以下是可能导致此错误的原因及其对应的解决方法: #### 1. **PAM 配置问题** 如果 `/etc/pam.d/vsftpd` 文件中的配置不正确,可能会导致用户无法通过 PAM 认证模块验证身份。可以通过修改该文件来解决问题。例如,在某些情况下需要注释掉以下行: ```bash # auth required pam_shells.so ``` 此外,还需要确认 `pam_service_name` 参数是否设置正确。对于大多数 Linux 发行版,默认值应为 `vsftpd`,但在 Ubuntu 上可能需要将其更改为 `ftp`[^3]。 #### 2. **Shell 权限不足** 如果用户的默认 shell 被设置为不可执行的程序(如 `/sbin/nologin` 或 `/bin/false`),则即使密码正确也可能触发 `530 Login incorrect` 错误。此时需检查并更新 `/etc/shells` 文件以确保所使用的 shell 已被允许。具体操作如下: ```bash vim /etc/shells ``` 添加以下内容(如果没有的话): ```plaintext /sbin/nologin /bin/false ``` 保存退出后重启服务即可生效[^4]。 #### 3. **用户名/密码错误** 最简单的情况可能是输入了错误的用户名或密码。建议重新核对账户凭证,并注意大小写敏感性。另外还可以尝试更改密码后再测试连接情况: ```bash passwd ftpUser ``` #### 4. **用户列表限制** VSFTPD 支持基于白名单 (`user_list`) 和黑名单 (`tcp_wrappers`) 控制访问权限。如果目标用户被列入了拒绝访问的范围,则会收到此类错误提示。查看相关配置项: ```ini userlist_enable=YES userlist_deny=NO # 如果设为YES,则只有未列入清单者可进入;反之亦然。 ``` 编辑对应文件路径下的用户表单(通常是 `/etc/vsftpd/user_list` 或 `/etc/vsftpd/ftpusers`),移除不必要的条目或者调整策略适应需求。 #### 5. **SELinux 设置冲突** 启用 SELinux 可能会对 FTP 功能造成干扰。临时关闭它可以帮助判断是否存在这方面的影响: ```bash setenforce 0 ``` 永久禁用则需修改配置文件 `/etc/selinux/config` 中的参数至 `disabled` 状态。当然也可以保留开启状态并通过适当规则规避影响[^1]。 #### 示例脚本:重建FTP用户环境 假设我们需要按照标准流程重置整个FTP用户体系结构,可以参照下面给出的例子来进行处理: ```bash groupadd ftpGroup mkdir -p /opt/reconciliation chown ftpUser:ftpGroup /opt/reconciliation/ chmod 750 /opt/reconciliation/ userdel -r ftpUser # 删除旧数据前务必做好备份工作! useradd -d /opt/reconciliation \ -s /sbin/nologin \ -g ftpGroup \ -G root ftpUser echo "your_password" | passwd --stdin ftpUser ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值