Ⅱ9.vsftpd服務
#1.安裝ftp#
安裝vsftpd
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
設置防火牆白名單,並重新讀取防火牆權限
firewall-cmd --list-all
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
#2.vsftpd文件信息#
/var/ftp ##默認發佈目錄
/etc/vsftpd ##配置目錄
#3.vsftpd服務的配置參數#
1)匿名用戶設定
anonymous_enable=YES|NO ##匿名用戶登陸限制
#<匿名用戶上傳>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
#<匿名用戶家目錄修改>
vim /etc/vsftpd/vsftpd.conf
anon_root=/direcotry
#<匿名用戶上傳文件默認權限修改>
vim /etc/vsftpd/vsftpd.conf
anon_umask=xxx
#<匿名用戶建立目錄>
vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES|NO
#<匿名用戶下載>
vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=YES|NO##設定參數值爲no表示匿名用戶可以下載
##該代碼手動添加
#<匿名用戶刪除>
vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES|NO##該代碼手動添加
#<匿名用戶使用的用戶身份修改>
vim /etc/vsftpd/vsftpd.conf
50 chown_uploads=YES
51 chown_username=westos
52 chown_upload_mode=0644##該代碼手動添加
#<最大上傳速率>
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400
#<最大鏈接數>
vim /etc/vsftpd/vsftpd.conf
max_clients=2
2)本地用戶設定
vim /etc/vsftpd/vsftpd.conf
16 local_enable=YES|NO ##本地用戶登陸限制
19 write_enable=YES|NO ##本地用戶寫權限限制
#<本地用戶家目錄修改>
local_root=/directory
#<本地用戶上傳文件權限>
local_umask=022
#<限制本地用戶瀏覽/目錄>
#所有用戶被鎖定到自己的家目錄中
chroot_local_user=YES
chmod u-w /home/*
用戶黑名單建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用戶白名單建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#<限制本地用戶登陸>
vim /etc/vsftpd/ftpusers ##用戶黑名單
vim /etc/vsftpd/user_list ##用戶臨時黑名單
用戶白名單設定
/etc/vsftpd/user_list
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO ##參數設定,此文件變成用戶白名單,只在名單中出現的用戶可以登陸ftp
3)ftp虛擬用戶的設定
創建虛擬帳號身份)
vim /etc/vsftpd/ftpuserfile ##文件名稱任意
user1
123
user2
123
user3
123
db_load -T -t hash -f /etc/vsftpd/ftpuser /etc/vsftpd/ftpuser.db
vim /etc/pam.d/HnSoi ##文件名稱任意
account required pam_userdb.so db=/etc/vsftpd/ftpuser
auth required pam_userdb.so db=/etc/vsftpd/ftpuser
vim /etc/vsftpd/vsftpd.conf
130 pam_service_name=HnSoi
131 guest_enable=YES
測試
虛擬帳號身份指定)
guest_username=westos
chmod u-w /home/westos
虛擬帳號家目錄獨立設定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpdir/$USER
user_sub_token=$USER
mkdir /ftpdir/user{1..2} -p
mkdir /ftpdir/user{1..3}/upload
chgrp student /ftpdir/user{1..2}/upload/
chmod 775 /ftpdir/user{1..2}/upload/
虛擬帳號配置獨立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1
在此文件中設定配置文件中的所有參數,此文件的優先級高