1、 配置本地yum源
#vi /etc/yum.repos.d/rhel-source.repo
[Server]
name=rhel6
baseurl=file:///misc/cd/
enable=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
2、 安装vsftpd
#yum installvsftpd
3、 配置vsftpd
编辑配置文件#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名用户登录
local_enable=YES //允许本地用户登录
anon_upload_enable=YES //允许匿名用户上传文件
anon_mkdir_write_enable=YES //允许匿名用户写权限
chroot_local_user=YES //禁锢普通账户在自己的宿主目录
local_root=/var/ftp/pub //设置宿主目录/var/ftp/pub
local_max_rate=150000 //限制普通账户下载速度150KB/s
4、 测试下载
#安装软件包
yum -y install db4*
#关闭SELinux
vim /etc/sysconfig/selinux
SELINUX=disabled
# getenforce 0
#防火墙允许22号端口
iptables -A INPUT -m state --state NEW -mtcp -p tcp --dport 21 -j ACCEPT
#建立虚拟用户登录文件,基数行为用户,偶数行为密码,只能这样写,否则系统不认
vim /etc/vsftpd/logins.txt
upload
password
download
password
adminftp
password
#生成口令认证文件
db_load -T -t hash -f/etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_logins.db
chmod 600 /etc/vsftpd/vsftpd_logins.db
#创建虚拟用户认证文件
vim /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_logins
account required/lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins
#64位系统就是/lib64/security/pam_userdb,32位系统就是/lib/security/pam_userdb
#创建虚拟用户
useradd -d /home/virtualuser -s/sbin/nologin virtualuser
chmod 777 /home/virtualuser #给777权限否则用户不能访问
#修改主配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 匿名用户登陆不需要
local_enable=YES #必须设置为YES,因为虚拟用户是映射本地用户来访问的
guest_enable=YES #启用虚拟用户
guest_username=virtualuser #映射虚拟用户
pam_service_name=vsftpd.vu #ftp认证文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf #为不同用户分配不同权限
#创建虚拟用户配置文件夹
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
touch upload download adminftp #与logins.txt文件的登录名要一样
#download用户只能下载:
vim download
local_root=/home/virtualuser
anon_world_readable_only=NO
#upload用户只能上传配置:
vim upload
local_root=/home/virtualuser
download_enable=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#adminftp用户有所有权配置:
vim adminftp
local_root=/home/virtualuser
download_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#启动服务,测试虚拟用户,验证效果;
# service vsftpd start
# chkconfig vsftpd on
# netstat -tl
ftp://192.168.189.133
#cd /home/