文档库 最新最全的文档下载
当前位置:文档库 › ftp的配置以及配置以后常常出现的一些无法上传下载的问题

ftp的配置以及配置以后常常出现的一些无法上传下载的问题

一、关于配置VSFTP
1.目标服务器安装vsftp服务端

2.
# useradd -d /ftpdir ftpuser 创建ftp用户,并制定家目录为上传目录

# passwd ftpuser 输入密码

# chown ftpuser /ftpdir 更改上传目录的拥有者,使之有更改权限

# usermod -s /sbin/nologin ftpuser 使用户无法通过各种shell登录
# usermod -s /sbin/bash ftpuser 用户恢复正常

3.修改/etc/vsftpd/vsftpd.conf
chroot_list_enable=YES 限制用户,只能访问家目录
chroot_list_file=/etc/vsftpd/chroot_list 被限制访问的用户名单(需要新建该文件,添加进用户名)

4./etc/init.d/vsftpd restart


配置本地用户
虚拟账户挺麻烦的,用本地账户能够接受么?
1.添加FTP测试用户(即本地用户),并准备下载测试文件。
#mkdir /data/ftp/upload
#mkdir /data/ftp/download
#groupadd ftpgroup
# useradd -g ftpgroup -d /data/ftp/upload -s /shell/nologin upload //-s 后面的内容不同的系统不一样,目的是让这个本地账户没有使用shell的权限
#passwd upload
# useradd -g ftpgroup -d /data/ftp/download -s /shell/nologin downloadload //-s 后面的内容不同的系统不一样,目的是让这个本地账户没有使用shell的权限
#passwd download
#chown download:ftpgroup /data/ftp/download
#chmod u-r /data/ftp/download
#chown upload:ftpgroup /data/ftp/upload
#chmod u-r /data/ftp/upload
2.修改vsftpd.conf配置文件,开放本地用户。
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //若不需要启用匿名访问,可将此配置项设为NO
local_enable=YES //允许本地用户访问
write_enable=YES //允许开放写权限
local_umask=022 //设置本地用户上传建立文件时的权限掩码
chroot_local_user=YES //为安全起见,建议将用户禁锢于其宿主目录中
max_clients=20 //限制并发客户连接数为最多20个
max_per=YES //限制来自同一IP的客户连接数为最多2个
local_max_rate=102400 //本地用户下载,上传限速为100 KB/S
pasv_enable=YES //允许被动模式并设置端口范围
pasv_min_port=24500
pasv_msx_port=24600
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

3.重新启动vsftpd服务
# service vsftpd restart
关闭 vsftpd: [确定]
启动 vsftpd: [确定]

二、FTP常常出现的问题
也许你看过了你的ftp之后,发现可以下载但不能上传,或者是连上传都不行,请注意了,有一下几个地方你需要注意:

(一)、你的本地的防火墙关了没
我想你的本地防火墙关闭没有,这个我就不用说了,这个很简单,你自己去看一下,就可以了,我着重的说一下两个问题
(二)、服务

器上的防火墙没有关闭导致
若是没有服务器的防火墙没有关闭,会有下面的一个现象出现:
connect:没有到主机的路由
1. connect:没有到主机的路由

今天使用vsftpd配置好ftp服务器,允许匿名登录。测试本机能否匿名登录:

#ftp 127.0.0.1
#Connected to 127.0.0.1 (127.0.0.1).
#220 (vsFTPd 2.2.2)
#Name (127.0.0.1:cqu): anonymous


#Password://直接回车
#230 Login successful.

显示登录没有问题,但在实验室的另外一台机器上登录时,却提示错误:

#ftp: connect: 没有到主机的路由


后来发现,是本机iptables在捣鬼,其中没有添加21端口规则,导致21端口的连接被屏蔽。

解决方法:关闭iptables或添加21端口规则。


2. iptables的设置

查看防火墙状态:
sudo service iptables status

暂时关闭防火墙:
sudo service iptables stop

禁止防火墙在开机时启动
chkconfig iptables off

设置防火墙在开机时启动
chkconfig iptables on

(三)、就是没有配置一下参数:
若是你发现你可以上传就是无法下载,那么需要修改一下参数
如果是ftp无法上传,需要修改一下参数!
[root@kentin vsftpd]# setsebool allow_ftpd_full_access 1
[root@kentin vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@kentin vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@kentin vsftpd]# setsebool ftp_home_dir 1
[root@kentin vsftpd]# setsebool httpd_enable_ftp_server 1
[root@kentin vsftpd]# setsebool tftp_anon_write 1
[root@kentin vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@kentin vsftpd]# getsebool -a|grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
httpd_enable_ftp_server --> on
tftp_anon_write --> on

相关文档