Centos 6.5 安装配置FTP服务器
1、检查是否已经安装vsftp rpm -qa | grep vsftpd
出现 vsftpd-..-** 说明已经安装
安装vsftpd
通过yum安装: yum -y install vsftpd 通过rpm安装: rpm -ivh vsftpd-..-**.rpm 测试是否安装成功: service vsftpd start 设置开机启动: chkconfig vsftpd on
关闭selinux
修改配置文件: vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled.
修改vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf 找到并修改如下内容:
anonymous_enable=NO (是否允许匿名) 将底下三行
#chroot_list_enable=YES # (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改为
chroot_list_enable=YES # (default follows)
chroot_list_file=/etc/vsftpd/chroot_list 保存退出
添加FTP用户
新增FTP用户”ftpuser”: useradd -d /home/ftp -s /sbin/nologin ftpuser -s:禁止登录SSH权限
设置用户”ftpuser”的密码:
passwd ftpuser (根据提示输入密码)
编辑文件chroot_list: vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如: peter john
添加防火墙规则
vi /etc/sysconfig/iptables 1、开放21、20端口
# iptables -A INPUT -p tcp --dport 20 -j ACCEPT # iptables -A INPUT -p tcp --dport 21 -j ACCEPT
如果OUTPUT默认也是DROP,那么还需要添加一下规则。 # iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
2、接受所有状态为ESTABLISHED、RELATED的连接
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
有关related状态的说明:
RELATED状态在有双通道的服务中会出现的。比如ftp服务的控制通道和数据通道。client发送syn请求到server的21端口,中间的linux系统变为NEW状态。server回复syn+ack应答包给client,中间的linux变为ESTABLISHED状态。当ftp的控制通道建立完后,会建立数据通道,而数据通道的第一个包就是RELATED状态,以后的包又变成ESTABLISHED状态。
3、配置iptables
# vi /etc/sysconfig/iptables-config
找到IPTABLES_MODULES,取消注释,添加ip_conntrack_ftp模块,保存。ip_conntrack_ftp模块可以让iptables支持被动模式的ftp连接。 IPTABLES_MODULES=\
4、保存iptables规则、重启。 service iptables restart
重启vsftpd
service vsftpd restart
访问FTP
使用本地PC访问:ftp://服务器ip 也可以通过 FileZilla等工具访问
安装完成
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ vsftpd 文件布局
/etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd 主程序 /etc/rc.d/init.d/vsftpd 启动脚本
/etc/pam.d/vsftpd PAM认证文件
/etc/vsftpd.ftpusers 禁止使用vsftpd的用户列表文件 /etc/vsftpd.user_list 禁止或允许使用vsftpd用户列表文件 /var/ftp 匿名用户主目录 /var/ftp/pub 匿名用户下载目录 /etc/logrotate.d/vsftpd.log 日志文件
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二.系统帐户
1.建立Vsftpd服务的宿主用户:
[root@localhost]# adduser -d /data guest -s /sbin/nologin
默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。www.linuxidc.com这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的 建立Vsftpd虚拟宿主用户:
[root@linuxidc.com nowhere]# useradd virtusers -s /sbin/nologin
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
三、vsftpd的配置
#anonymous_enable=YES
anonymous_enable=NO 设定不允许匿名访问
local_enable=YES 设定本地用户可以访问。注意:如果该项目设定为NO那么所有虚拟用户将无法访问。
write_enable=YES 设定可以进行写操作。
local_umask=022 设定上传后文件的权限掩码。 anon_upload_enable=NO 禁止匿名用户上传。
anon_mkdir_write_enable=NO 禁止匿名用户建立目录。 dirmessage_enable=YES 设定开启目录标语功能。 xferlog_enable=YES 设定开启日志记录功能。
connect_from_port_20=YES 设定端口20进行数据连接。