一、全局操作
1、安裝vsftpd服務
yum -y install vsftpd
2、去掉配置檔案裡的注釋行
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
grep -v "#" /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf
Centos 7使用vsftpd搭建FTP伺服器
3、配置firewalld防火牆開放2231和45000-49000端口
firewall-cmd --permanent --add-port=2231/tcp
firewall-cmd --permanent --add-port=45000-49000/tcp
firewall-cmd --reload
4、配置selinux允許FTP服務
注:沒有selinux相關指令的話,需要安裝policycoreutils-python包
yum -y install policycoreutils-python.x86_64
setsebool -P ftpd_full_access=on
二、匿名開放模式
1、修改配置檔案,帶注釋的是需要修改和新增的配置
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #啟用匿名通路模式
anon_umask=022 #匿名使用者上傳檔案的umask值
anon_upload_enable=YES #允許匿名使用者上傳檔案
anon_mkdir_write_enable=YES #允許匿名使用者建立目錄
anon_other_write_enable=YES #允許匿名使用者重命名、删除等操作
anon_root=/data/anon #匿名使用者的FTP根目錄
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen_port=2231 #vsftpd服務監聽的端口号
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=45000 #PASV模式最小端口号
pasv_max_port=49000 #PASV模式最大端口号
2、建立并授權匿名使用者FTP根目錄
mkdir -p /data/anon/pub
chown -R ftp /data/anon/pub/
3、啟動vsftpd服務,并加入開機啟動
systemctl start vsftpd
systemctl enable vsftpd
4、測試
三、本地使用者模式
1、修改配置檔案,删除之前的匿名模式配置内容,帶注釋的是需要修改和新增的配置
anonymous_enable=NO #關閉匿名通路模式
local_root=/data/user #指定本地使用者的FTP根目錄
chroot_local_user=YES #将使用者權限禁锢在FTP目錄
allow_writeable_chroot=YES #允許對FTP根目錄執行寫入操作
listen_port=2231
pasv_min_port=45000
pasv_max_port=49000
2、建立本地使用者,并指定家目錄
useradd -d /data/user -s /sbin/nologin user
echo "123456" | passwd --stdin user
3、重新開機vsftpd服務
systemctl restart vsftpd