很久没有单独接触过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服务就行。

以前就说过,大概过程差不多,只不过这次遇到新问题了,就重新记录一次:

linux添加指定文件夹的ftp用户操作方法

Tagged in: