1、yum -y install vsftpd db4-utils服务器
2、建立一个不能够登入的系统用户
建立一个不能够登入的系统用户,用来虚拟帐号映射 到时虚拟帐号登入ftp
useradd -s /sbin/nolgin ftpuser
3、修改配置文件
cat /etc/vsftpd/vsftpd.confapp
#是否容许匿名登入 anonymous_enable=NO #是否容许本地用户登入,主要是虚拟帐号可否登入。 local_enable=YES ## 是否容许本地用户对FTP服务器文件具备写权限,默认设置为YES容许 write_enable=NO # 你能够设置本地用户的文件掩码为缺省022,也可根据我的喜爱将其设置为其余值 local_umask=022 #ftp 客户端登入欢迎提示 dirmessage_enable=YES #日志记录开启 xferlog_enable=YES #客户端创建端口 connect_from_port_20=YES #日志标准输出 xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES #容许虚拟用户登入,映射虚拟用户到系统实际用户 guest_enable=YES guest_username=ftpuser 虚拟用户的配置权限配置,对虚拟用户的权限能够进行划分,容许某些用户有特定权限 user_config_dir=/etc/vsftpd/vsftpd_user_conf virtual_use_local_privs=YES #用户登陆FTP后就会禁锢在本身的家目录 chroot_local_user=YES chroot_list_enable=NO allow_writeable_chroot=YES # (default follows) chroot_list_file=/etc/vsftpd/vsftpd_user_conf #local_root=/home/ftpuser #指定ftp的根目录 #auser_config_dir=/etc/vsftpd/chroot_list #指定给用户配置权限目录的路径
4、建立FTP登陆时的virtual用户名和密码列表
cat /etc/vsftpd/ftpusers.txt
testftp1
123
testftp2
234
使用db_load 工具转换
db_load -T -t hash -f ftpusers.txt ftpuser.db
db_load -T:转换tcp
5、创建pam 认证
cat /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/ftpuser
account required pam_userdb.so db=/etc/vsftpd/ftpuseride
6、虚拟用户分配权限的目录,及设置虚拟用户权限的文件,此文件必须以虚拟用户名命名。
cat /etc/vsftpd/vsftpd_user_conf/testftp1
write_enable=YES工具
重启vsftpd 服务
systemctl restart vsftpdui