1、ftp安装
[root@server ~]# yum -y install vsftpd
[root@server ~]# systemctl start vsftpd.service
[root@server ~]# systemctl stop vsftpd.service
[root@server ~]# systemctl status vsftpd.service
2、主配置文件
[root@server]# vim /etc/vsftpd/vsftpd.conf
#不允许匿名访问(不登录默认访问某目录/var/ftp),12行 anonymous_enable=NO #允许ascii文件上传和下载。82-83行 ascii_upload_enable=YES ascii_download_enable=YES #将用户限制在为其配置的主目录,100行 chroot_local_user=YES #启用IPv4监听,115行 listen=YES #关闭IPv6监听,124行 listen_ipv6=NO #设置启用虚拟用户功能 guest_enable=YES #制定宿主用户名(手动添加该系统用户,所有虚拟用户都将映射为此用户身份) guest_username=ftphost #制定虚拟用户配置文件放置文件夹(手动创建) user_config_dir=/etc/vsftpd/vuser_conf #允许写 allow_writeable_chroot=YES
3、创建宿主账户
mkdir /var/www/ftphost useradd -d /var/www/ftphost/ -s /bin/false ftphost chown -R ftphost:ftphost /var/www/ftphost/ chmod u-w /var/www/ftphost
3、pam.d认证文件配置
虚拟用户认证需要借助pam.d模块,vuser_list为虚拟用的账户-密码配置文件,一般格式为:奇数行为用户名,偶数行为密码
cat /etc/pam.d/vsftpd auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_list account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_list
4、将密码文件进行db格式的转化
db_load -T -t hash -f /etc/vsftpd/vuser_list /etc/vsftpd/vuser_list.db chmod 600 /etc/vsftpd/vuser_list
5、虚拟用户配置文件/etc/vsftpd/vuser_conf/scott
write_enable=YES anon_world_readable_only=NO ##关闭只可读 anon_upload_enable=YES ##允许上传 anon_mkdir_write_enable=YES ##允许新建目录 anon_other_write_enable=YES ##允许修改目录/文件名称,删除 local_root=/var/www/ftphost/scott ##家目录映射
