很久没有单独接触过Vsftpd了,今天给pt服务器单独新建ftp名称之后,发现登录不了。出现错误:
响应: 530 Login incorrect.
当我解决问题之后,才发现为什么会出现了这个问题,先说解决方法吧。
解决方式一、也就是我第一次的解决方法:
修改/etc/pam.d/vsftpd文件,把pam_shells.so改成pam_nologin.so
默认是:
auth required pam_shells.so //登录鉴权
改之后是:
auth required pam_nologin.so //允许无权限的用户通过鉴权

为什么会出现这个错误呢?
因为我新建ftp用户名的时候,加了句权限限制的命令,新建ftp用户名的过程:
useradd test //新建用户名 passwd test //用户名密码 usermod -s /sbin/nologin test //限制了test用户名ssh远程登录的权限 usermod -s /bin/bash test //恢复test的远程登录权限 usermod -d /data/ceshi test //test用户对应的网站目录是/data/ceshi chmod 777 /data/ceshi //更改/data/ceshi文件夹权限 不然ftp不能上传文件,也可以755 systemctl restart vsftpd //重启vsftpd服务
如果要限制test用户名只能访问/data/ceshi,需要修改vsftpd.conf和vsftpd.chroot_list文件。
先看vsftpd.conf:
chroot_list_enable=YES
有没有这句,如果没有就自己加上,然后改vsftpd.chroot_list文件:
把test加进去,一行一个用户名,最后再次重启vsftpd服务就行。
以前就说过,大概过程差不多,只不过这次遇到新问题了,就重新记录一次: