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 ##家目錄映射