一.安裝
1.安裝
yum install -y vsftpd
2.設置開機啟動
systemctl enable vsftpd.service
3.啟動
systemctl start vsftpd.service
4.停止
systemctl stop vsftpd.service
5.查看狀態
systemctl status vsftpd.service
二.配置
1.打開配置文件
vim /etc/vsftpd/vsftpd.conf
2.顯示行號
:set number
3.設置
# 取消匿名用戶登錄
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
# chroot_local_user 不使用本地用戶 chroot_list_enable:啟用chroot自定義用戶 ,chroot_list_file:自定義配置用戶文件位置
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# ip6 注掉 listen 開啟
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#### new config 自己新增
# 配置用戶指定訪問目錄
user_config_dir=/etc/vsftpd/userconfig
# 允許chroot的用戶 寫操作
allow_writeable_chroot=YES
# 配置ftp訪問根目錄 -----此目錄配置所有用戶共享 高於 上面的 user_config_dir 用戶配置目錄
local_root=/home/ftpuser
4.其他配置 按需設置 網上查找
use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1
allow_writeable_chroot=YES
三.不同用戶配置不同的根目錄
(新建用戶:)
1.cd /etc/vsftpd/
2.mkdir userconfig
3.cd userconfig/
4.在userconfig目錄下 不同用戶配置不同的根目錄,按用戶名新建文件:
用戶 root , admin
vim root
local_root=/home/ftpuser/root/
vim admin
local_root=/home/ftpuser/admin/
四.創建ftp用戶訪問目錄
cd /home
mkdir ftpuser
cd ftpuser
mkdir test1
mkdir test2
五.防火牆設置
1.新增21端口配置
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
2.firewall-cmd --zone=public --add-service=ftp --permanent
3.firewall-cmd --zone=public --add-port=21/tcp --permanent
4.firewall-cmd --reload
六.還是無法上傳新建刪除文件時,設置權限
1.getsebool -a | grep ftp
getsebool,列出所有selinux bool數值清單列表與內容。

2. setsebool allow_ftpd_anon_write 1
setsebool allow_ftpd_full_access 1
要結果為這樣
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> off
最后所有設置 都要 systemctl restart vsftpd
