CentOS6.4
一、用在线安装
yum install vsftpd pam* db4*-y
使用命令将vsftp配置为系统服务
chkconfig --level 35 vsftpd on
二、配置vsftpd服务的宿主
useradd vsftpdadmin -s /sbin/nologin -M
这个vsftpdadmin只是用来替换root的,并不需要登录
三、建立ftp虚拟宿主帐户
useradd vsftpuser -s /sbin/nologin -M
这ftpuser只个虚拟帐户的宿主,本身是不用登录的
四、配置vsftpd.conf 配置之前要先备份一下原来的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //允许匿名用户访问,默认是允许。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_list_enable=NO //允许FTP用户离开自己主目录
chroot_local_user=NO
增加
#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
我自己测试环境配置的默认FTP路径是 /var/ftp/pub
#这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹
#修改端口号
#ftp_data_port=4040
#reverse_lookup_enable=NO
#pasv_enable=yes
#pasv_min_port=48790
#pasv_max_port=48800
#listen_port=21 #FTP客户端默认端口是21,此端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置
五、建立虚拟用户文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vconf/vir_user
六、建立虚拟用户 (允许匿名用户了此条就不用了)
vi /etc/vsftpd/vonf/vir_user
virtualuser //用户名
12345678 //密码
七、生成数据库
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
如果 -bash: db_load: command not found
则yum install db4-utils-* 来解决
http://blog.csdn.net/wang01ning/article/details/4907626
八、设置数据库文件访问权限
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
九、修改/etc/pam.d/vsftpd,添加下面两行
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)
十、根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夹
mkdir /etc/vsftpd/vconf/userlocal
十一、根据第六步建立的用户名建立一个文件
例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件
touch /etc/vsftpd/vconf/userlocal/virtualuser
十二、编辑该用户访问的文件路径
vi /etc/vsftpd/vconf/userlocal/virtualuser
输入如下
local_root= //需要指定的网站根目录,例如www.baidu.com所在文件夹为/www/baidu
anonymous_enable=NO #禁止匿名用户访问
write_enable=YES #开启写权限
local_umask=022 #上传后文件的权限掩码
anon_upload_enable=NO #关闭匿名下载
anon_mkdir_write_enable=NO #关闭匿名创建文件夹
idle_session_timeout=60 #会话自动关闭时间 60是因分钟
data_connection_timeout=120 #数据延迟时间
max_clients=10 #最大连接数
max_per_ip=5 #同一个ip同时允许5个IP联机
local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制
十三、
配置就此完成,重启vsftpd服务:service vsftpd restart。
查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功。
Linux FTP自动启动服务
主要方法如下:
方法一:
chkconfig vsftpd on service vsftpd start
方法二:
最简单的办法,把service vsftpd start加入/etc/rc.local即可。