在配置虚拟用户需要,生成一个数据库文件 使用命令db_load;因此yum -y install db4_utils安装。

一、安装vsftpd

yum -y install vsftpd* yum -y install pam* yum -y install db4*

二、系统帐户创建

useradd vsftpd -s /sbin/nologin

三、centos vsftpd.conf设置

1.vsftpd.conf

[root@twin13024 vsftpd]# cat /etc/vsftpd/vsftpd.conflisten=YESanonymous_enable=NOdirmessage_enable=YESxferlog_enable=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=YESchroot_local_user=YESguest_enable=YESguest_username=vftpuseruser_config_dir=/etc/vsftpd_user_confpam_service_name=vsftpdlocal_enable=YESsecure_chroot_dir=/var/run/vsftpduse_localtime=YESpasv_min_port=60000pasv_max_port=60030

2.访问用户frank的用户配置

[root@twin13024 vsftpd]# cat /etc/vsftpd_user_conf/frankwrite_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/data/ftp/frank

3.访问用户列表的配置文件:(用户名和密码)

[root@twin13024 vsftpd]# cat /etc/vsftpd/vftpuser.txtfrankq1W@E#R$T%

4.pam模块来控制虚拟用户的登录

[root@twin13024 vsftpd]# cat /etc/pam.d/vsftpd##%PAM-1.0#session    optional     pam_keyinit.so    force revoke#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed#auth       required    pam_shells.so#auth       include     system-auth#account    include     system-auth#session    include     system-auth#session    required     pam_loginuid.soauth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

5.虚拟用户 添加脚本 addusr.sh

[root@twin13024 vsftpd]# cat addusr.shdb_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.dbcp /etc/vsftpd_user_conf/frank /etc/vsftpd_user_conf/$1sed -i "s/frank/$1/g" /etc/vsftpd_user_conf/$1mkdir /data/ftp/$1chown vftpuser:vftpuser /data/ftp/$1

6.添加用户thunder案例

[root@twin13024 vsftpd]# cat /etc/vsftpd/vftpuser.txtthunderq1W@E#R$T%[root@twin13024 vsftpd]# /etc/vsftpd/addusr.sh thunder

7.补充:

关键步骤:-A RH-Firewall-1-INPUT  -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 60000:60030 -j ACCEPT