ubuntu vsftpd 530 Login incorrect 根本原因和解决方案

ubuntu vsftpd 530 Login incorrect 根本原因和解决方案

1 背景分析

ubuntu安装vsftpd一般使用:
sudo apt-get install vsftpd

参照其他网上教程的配置后,在账号、密码、主目录都是正确的情况下,可能会遇到账号登录提示 530 Login incorrect 的问题。

网络上有好多解决方案,例如修改/etc/vsftpd.conf文件 将pam_service_name=vsftpd 修改为 pam_service_name=ftp ,虽然能够解决这个问题,但是这种方法其实是错误的。这样由于/etc/pam.d/ftp文件不存在,等于是绕过了PAM。

 

2 vsftpd pam文件分析

/etc/pam.d/vsftpd 默认如下

# Standard behaviour for ftpd(8).
auth   required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so. # Standard pam includes @include common-account @include common-session @include common-auth auth required pam_shells.so

可能导致530错误的有
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required pam_shells.so

 

2.1 /etc/ftpusers

auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
该配置项的含义是 /etc/ftpusers 中的用户禁止登陆,如果文件不存在在默认所有用户均允许登录. 所以确保用户没在这个文件内。

2.2 pam_shells.so

auth required pam_shells.so 配置项的含义为仅允许用户的shell为 /etc/shells
文件内的shell命令时,才能够成功

cat /etc/shells 
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了。

 

3 解决方案

1、查看/etc/ftpusers ,确保账号没有在这个文件内。
2、修改/etc/pam.d/vsftpd
auth required pam_shells.so修改为->auth required pam_nologin.so 即可
3、重启vsftpd

转载于:https://www.cnblogs.com/RXDXB/p/11498219.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值