一、vsftpd安装

1.安装必要的支持文件
db4
db4-devel
db4-utils
2.开始安装vsftpd
(1)源码包安装
下载最新稳定版本:vsftpd-2.3.5.tar.gz
tar zxvf vsftpd-2.3.5.tar.gz
cd vsftpd-2.3.5
./configure
make
make install
cd ../
(2)yum自动安装
?yum install vsftpd
(3)rpm包安装
rpm -qa |grep vsftpd
rpm -ivh vsftpd-2.0.5-16.el5_5.1.i386.rpm

二、vsftpd配置

1.本地数据文件方式
(1)添加虚拟用户口令文件
vim /etc/vsftpd/vftpuser.txt
#添加虚拟用户名和密码,奇数行为用户名,偶数行为密码
xiaojiang
cusAVnRfwnK3sYaD
test
qPJN5pyy73hSAqnU
?
(2)生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
rpm -qa |grep db4-utils
yum install db4 db4-utils db4-devel
使用db_load命令生成虚拟用户口令认证文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
chmod 0600 /etc/vsftpd/vftpuser.*
查看生成虚拟用户口令认证文件
file /etc/vsftpd/vftpuser.db
?
(3)编辑vsftpd的PAM认证文件
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_bak
vim /etc/pam.d/vsftpd
#其他都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
?
(4)建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
mkdir /home/vftpsite
useradd -d /home/vftpsite -s /sbin/nologin vftpuser
chmod 0777 /home/vftpsite
?
(5)配置vsftpd.conf(设置虚拟用户配置项)
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
#开启虚拟用户
guest_enable=YES
#虚拟用户对应的系统用户
guest_username=vftpuser?
#PAM认证文件
pam_service_name=vsftpd
?
(6)重启vsftpd服务
service vsftpd restart
说明:vsftpd上传下载默认路径为/home/vftpsite
?
(7)测试虚拟用户登录
ftp 192.168.1.22
(8)为指定虚拟用户建立独立的配置文件
vim /etc/vsftpd/vsftpd.conf
#添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户建立独立的配置目录及文件,配置文件名与用户名同名
mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
vim xiaojiang
输入以下内容:
local_root=/home/vftpsite
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022

#########################################

Test1 test2 test3 test4的设置
在test1、test2中添加
Anon_world_readable_only=no
这样此两个用户就有了浏览目录的权限了
在test3中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
此用户就有了上传、下载和浏览的权限
在test4中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
Anon_other_write_enable=yes
此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限