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/