ftp客户连接常见故障现象
现象0:
> ftp: connect :连接被拒绝
原因: 服务没启动
解决: # chkconfig vsftpd on<Enter>
现象1:
500 OOPS: cannot open user list file
原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在该帐户
解决: # echo username >> /etc/vsftpd.user_list<Enter>
现象2:
530 Permission denied.
Login failed.
原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户
解决: # echo username >> /etc/vsftpd.user_list<Enter>
现象3:
500 OOPS: cannot open chroot() user list file
Login failed.
原因: 不存在文件“/etc/vsftpd.chroot_list”
解决: # echo username >> /etc/vsftpd.chroot_list<Enter>
现象4:
500 OOPS: missing value in config file
Connection closed by remote host.
原因: “=”等号前值有问题,或只有一个空格
解决: 修正相应的值即可,可能过 diff 来比较查找
现象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
原因: “=”等号后值有问题
解决: 将“=”等号后值确认修改
现象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
原因: 参数前有空格
解决: 将参数前空格删除
现象7、
确认存在“local_enable=YES”,但本地用户无法登陆
原因: 验证参数被误删除
解决: 添加“pam_service_name=vsftpd”
现象8、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
原因: 用户主目录没有权限或没有主目录
解决: 正确设置用户主目录权限
配置参数。
参数 |
说明 |
listen_address=ip address |
指定侦听IP |
listen_port=port_value |
指定侦听端口,默认21 |
anonymous_enable=YES |
是否允许使用匿名帐户 |
local_enable=YES |
是否允许本地用户登录 |
nopriv_user=ftp |
指定vsftpd服务的运行帐户,不指定时使用ftp |
write_enable=YES |
是否允许写入 |
anon_upload_enable=YES |
匿名用户是否可上传文件 |
anon_mkdir_write_enable=YES |
匿名用户是否建立目录 |
dirmessage_enable=YES |
进入每个目录是显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息 |
xferlog_enable=YES |
上传/下载文件时记录日志 |
connect_from_port_20=YES |
是否使用20端口传输数据(是否使用主动模式) |
chown_uploads=YES、chown_username=whoever |
修改匿名用户上传文件的拥有者 |
xferlog_file=/var/log/vsftpd.log |
日志文件 |
xferlog_std_format=YES |
使用标准文件日志 |
idle_session_timeout=600 |
会话超时,客户端连接到ftp但未操作 |
data_connection_timeout=120 |
数据传输超时 |
async_abor_enable=YES |
是否允许客户端使用sync等命令 |
ascii_upload_enable=YES、ascii_download_enable=YES |
是否允许上传/下载二进制文件 |
chroot_local_user=YES |
限制所有的本地用户在自家目录 |
chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list |
指定不能离开家目录的用户,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时必须chroot_local_user=NO |
ls_recurse_enable=YES |
是否允许使用ls -R等命令 |
listen=YES |
开启ipv4监听 |
listen_ipv6=YES |
开启ipv6监听 |
pam_service_name=vsftpd |
使用pam模块控制,vsftpd文件在/etc/pam.d目录下 |
userlist_enable=YES |
此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚 |
userlist_deny=YES |
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO,只允许在文件中的用户登录FTP服务器 |
tcp_wrappers=YES |
是否允许tcp_wrappers管理 |
local_root=/home/ftp |
所有用户的根目录,,对匿名用户无效 |
anon_max_rate |
匿名用户的最大传输速度,单位是Byts/s |
local_max_rate |
本地用户的最大传输速度,单位是Byts/s |
download_enable= YES |
是否允许下载 |
在上面所有参数中,只要涉及到上传的参数在启用后还需要对应本地目录有写入权限。
FROM:http://bjiokn.blog.51cto.com/1021758/626187