环境: 服务器以前已经安装过vsftp,已配置过用户且能正常登陆。
问题:新配置的用户不能登陆,530错误。
参考:
// {{{ https://www.cnblogs.com/yangjinjin/p/3158245.html
ftp安装部分,操作步骤如下:
可以使用yum命令直接安装ftp
# yum install vsftpd
ftp服务的开启与关闭命令:
开启:# service vsftpd start
关闭:# service vsftpd stop
安装成功后,可以在本地使用ftp软件连接,默认账号是虚拟机的账号和密码。
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:
ftp为vsftp 被限制用户名为test。被限制路径为/home/test
2、建用户:在root用户下:
# useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test # passwd test //为test设置密码
3、更改用户相应的权限设置:
# usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp # usermod -s /sbin/bash test //用户test恢复正常 # usermod -d /test test //更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径:
修改 # /etc/vsftpd/vsftpd.conf 如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器。
# /etc/init.d/vsftpd restart
5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
# usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面
//}}}
解决方案:参考《鸟哥的linux私房菜》:如果client已经能连上vsftp服务器,却无法使用某个账号登录,请检查(1).vsftp.conf 是否设置了使用PAM模块来检查账号,以及利用user_list file来管理账号? (2).请检查 /etc/vsftp/ftpusers 以及 /etc/vsftp/user_list 文件中是否将该账号写入;
检查后发现,启动了PAM模块再管理账号。
参考{{{
http://blog.sina.com.cn/s/blog_3edc5e2e0102vzv8.html
}}}
p配置好用户后 需 使用 db_load 命令来
#db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
生成密码db
重启vsftp后重启成功