RedHat带了wu-ftpd和vsftp两套ftp系统.我也使第一次接触vsftp,根据man说vsftp的含义就是Very Security Ftp的意思,至于是否真的是非常安全,我不敢说.毕竟以前没有用过.因为应一个朋友的要求,所以简单的看了看vsftp的说明,发现还是很简单的,下面就简要的说一下它的配置方法.

1.相关配置文件
/etc目录下的vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd
2.配置vsftp
主要是修改/etc/vsftpd.conf就可以了,相关参数如下:

anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

local_enable=YES 是否允许本地用户登录

local_umask=022 默认的umask码

anon_upload_enable=YES 是否允许匿名ftp用户访问

anon_upload_enable=YES 是否允许匿名上传文件

anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利

dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件

xferlog_enable=YES 是否记录ftp传输过程

connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

chown_upload=YES
chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主

xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

xferlog_std_format=YES 是否使用标准的ftp xferlog模式

idle_session_timeout=600 设置默认的断开不活跃session的时间

data_connection_timeout=120 设置数据传输超时时间

nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody

async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.这里我翻译的不爽,原文如下:
When enabled, a special FTP command known as "async ABOR" will be enabled. Only ill advised FTP clients will use this feature.Addtionally, this feature is awkward to handle, so it is dis-abled by default. Unfortunately, some FTP clients will hang when cancelling a transfer unless this feature is available, so you may wish to enable it.

ascii_upload_enable=YES
ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息

deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表

max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止

message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

没发现有限止带宽的地方,如果谁知道请告诉我,详细的帮助说明请参考man vsftpd.conf

3 配置实例
以下是我的配置文件.允许匿名FTP,允许上传,chroot用户目录,上传文件属主改为root

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=root
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
pam_service_name=vsftpd
chroot_local_user=YES

4 起动服务

vsftpd和wu-ftpd不能同时起动,所以修改/etc/xinetd.d/wu-ftpd将disable设置为yes,然后修改/etc/vsftpd将disable设置为NO
执行/etc/initd.d/xinetd restart
就可以了.好了,现在我们就建了一个所谓的非常安全的ftp服务器了,大家试试吧