FTP服务器是一种常见的用于文件交换的服务,目前大小公司都有在用。最近公司有需求需要搭建FTP服务,就研究了一下。
本次主要是基于vsftpd的搭建和配置。
一、vsftpd简介:
vsftpd是一个UNIX类操作系统上运行的FTP服务器,它可以运行在Linux、BSD、Solaris、HP-UNIX等多种操作系统上面,是一个完全免费的、开发源代码的ftp服务器软件。目前主流的Linux发行版中都可以找到vsftpd的身影。
它有如下特点:
01.程序小巧轻快,安装方便。 02.安全性和稳定性较早期FTP有很大进步。 03.配置简单。
二、学习安装和配置vsftpd:
实验环境:CentOS 5.8 x86_64
测试环境关掉防火墙和selinux。
service iptables stop
setenforce 0
1、安装vsftpd
yum -y install vsftpd
2、vsftpd相关的目录及配置文件
/usr/sbin/vsftpd vsftpd主程序。
/etc/init.d/vsftpd vsftpd服务控制脚本。
/etc/pam.d/vsftpd 这个是vsftpd使用PAM模块时的相关配置文件,主要用来验证登陆FTP用户账号的身份。
/etc/vsftpd/ 配置文件目录。
/etc/vsftpd/vsftpd.conf vsftpd服务主配置文件,使用方法:参数=设定值。
/etc/vsftpd/ftpusers 与PAM模块的配置文件配合使用,主要填写FTP用户账号,一行一个。
/etc/vsftpd/user_list vsftpd服务自己的用户账户控制文件,与vsftpd.conf配置文件中的userlist_enable、userlist_deny两个参数有关。
/var/ftp/ 默认匿名用户根目录。
3、主配置文件vsftpd.conf详解
与服务器环境较相关的设定值
connect_from_port_20=YES (NO)
主动式连接时使用FTP服务器的端口号,就是FTP-date的端口号。
listen_port=21
vsftpd控制端口。
dirmessage_enable=YES (NO)
当用户进入某个目录时,是否显示该目录需要注意的内容,显示信息的文件默认是 .message 。
message_file=.message
当 dirmessage_enable=YES 时,可以修改默认显示信息文件的文件名。
listen=YES (NO)
设置为YES表示以stand alone方式启动服务器,设置为NO则表示以super deamon的方式启动服务器。
pasv_enable=YES (NO)
启动被动模式(passive mode),一定要设置为YES。
use_localtime=YES (NO)
启用本地时间,一般需要设置为YES。因为vsFTPd默认使用GMT格林威治时间,这比东八区的时间早了8个小时,会使得服务器上的文件时间属性出现混乱。
write_enable=YES (NO)
是否允许用户上传数据。
connect_timeout=60
在数据连接主动模式下,发出的连接信号在60秒内没有得到客户端的响应,则强制断线。
accept_timeout=60
在用户以PASV被动模式进行数据传输时,如果主机启动passive port并等待客户端超过60秒无回应,就强制断线。
data_connection_timeout=300
在客户端和服务器的数据连接已经建立的情况下,如果在300秒内还是无法顺利完成数据传输,则客户端的连线会被vsFTPd强制断开。
idle_session_timeout=300
如果用户在300秒内没有命令操作,则断线。
max_clients=0
当vsFTPd以stand alone模式运行时,这个参数决定同一个IP、同一时间内被服务器允许的连接数。
max_per_ip=0
与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少联机?
pasv_min_port=0, pasv_max_port=0
这两个参数指定pasv模式使用的端口号的范围,0表示不限制。
ftpd_banner=一些文字说明
用登入FTP时,显示的欢迎信息,可设定显示的信息内容较少。
banner_file=/path/file
这个参数可以弥补FTPd_banner参数的不足,特别是当需要在服务器端展示较多的文字信息时(如站点说明,欢迎文字等等)。
与实体用户较相关的设定值
guest_enable=YES (NO)