一、安装
1. 首先从http://vsftpd.beasts.org/上下载最新的vsftpd-server安装包,如果是Ubuntu下,可以使用"sudo apt-get install vsftpd"或“yum -y install vsftpd”直接安装,直接跳到配置步骤;
2. 解压tar -zxvf vsftpd-server***.tar.gz;
3. 进入vsftpd-server这个目录,执行make命令;
4. make install.
二、配置
1. 如果系统没有nobody用户,则需要先创建nobody这个用户,命令如下:
useradd nobody
2. 创建/usr/share/empty/目录;
3. 建立/home/ftpshare/目录,并建立ftp用户,并把/var/ftp这个目录做为ftp这个用户的主目录:
useradd -d /home/ftpshare ftp
4. 配置vsftpd服务
vsftpd的配置文件为/etc/vsftpd/vsftpd.conf。
4.1 允许本地用户连接服务
打开配置文件,修改或添加以下信息:
Local_enable=yes ## enable local user to login
Write_enalbe=no ## local user cann't to delete and modify the file
4.2 限制本地用户访问的目录
Chroot_local_user=yes ## local user can only access self-directory
Chroot_list_enable=yes ## user can access the directory listed in directories' list
Chroot_list_file=/the path of the file "vsftpd.chroot_list"
4.3 限制本地用户访问
Userlist_enable=yes ## the anonymous can not login
Userlist_deny=no
Userlist_file=/the path of the userlist file
4.4 匿名访问设置
打开/etc/vsftpd/vsftpd.conf文件,并修改以下几项的值:
Anonymous_enable=yes ## permit the anonymous
Dirmessage_enable=yes ## the content of message when switch directory
Local_umask=022 ## the permission of uploading at local, default is 077
Connect_from_port_20=yes ## the port of transfering the data
Xferlog_enable=yes ## active the log
Xferlog_std_format=yes ## using the standard format of log
Ftpd_banner=XXXXx ## welcome information
Pam_service_name=vsftpd
Listen=yes
4.5. 允许匿名上传
在上述配置文件中开放以下信息:
Anon_upload_enable=yes
Anon_mkdir_write_enable=yes
Write_enable=yes
Anon_other_write_enable=yes
4.6. 允许匿名下载
Anon_world_readable_only=no
5. 安全设置
Idle_session_timeout=300 ## the unit is second
Data_connection_timeout=100
Accept_timeout=60
Connect_timeout=60
Local_max_rate=50000 ## the unit is bite
Anon_max_rate=30000
Pasv_min_port=50000 ## the minimise port of connecting
Pasv_max_port=60000 ## the maximise port
Max_clients=100 ## the maximize number of connector
Listen_port=7777
以上配置是在综合网上多位前人及本人的亲身测试所总结的。如果有不足的地方请大伙指点。
下面是本人测试的过程
1. 安装: yum -y install vsftpd
2. 配置文件
#vi /etc/vsftpd/vsftpd.conf
3. # touch /etc/vsftpd/vsftpd.chroot_list
4. service vsftpd start
5. 添加用户
#useradd ftptest -d /home/ftptest -s /sbin/nologin
6. 设置目录及文件属性
chown -R ftptest.ftptest /home/ftptest
7. 把"ftptest"添加到"/etc/vsftpd/vsftpd.chroot_list",这样用户就可以正常登陆并且不能跳出自己的目录
# echo "ftptest" >> vsftpd.chroot_list
8. 重启vsftpd.
这样就完成了FTP服务器的基本配置,具体配置让参看上述内容。