安裝FTP服務
yum -y install vsftpd
開機自啓動
systemctl enable vsftpd.service
允許匿名上傳
selinux的配置
SELinux(Security-Enhanced Linux) 是美國國家安全局(NAS)對於強制訪問控制的實現,是 Linux上最傑出的新安全子系統。NSA是在Linux社區的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發行版上容易安裝的包得到。
最簡單的辦法,關閉selinux
方法1:修改/etc/selinux/config文件中的SELINUX=disabled,然後重啓。
方法2:用命令setenforce 0,無需重啓。(setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])
方法3:在lilo或者grub的啓動參數中增加:selinux=0,也可以關閉selinux。
防火牆設置
# 開啓ftp服務
firewall-cmd --add-service=ftp
# 防火牆生效
firewall-cmd --reload
其他説明
ftp文件説明
# rpm -ql vsftpd
/etc/logrotate.d/vsftpd #vsftpd的日誌文件
/etc/pam.d/vsftpd #pam認證文件
/etc/rc.d/init.d/vsftpd #啓動腳本
/etc/vsftpd #vsftpd的配置文件存放目錄
/etc/vsftpd/ftpusers #禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list #禁止或允許使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf #ftp的主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh #vsftpd操作的一些變量和設置
/var/ftp # 匿名用户目錄
/var/ftp/pub # 匿名用户的下載目錄
ftp配置索命
vsftpd.conf文件參數説明
anonymous_enable=NO #是否開啓匿名登錄
local_enable=YES #是否允許本地用户登錄
write_enable=YES #是否允許上傳
local_umask=022 #默認的umask碼
dirmessage_enable=YES #是否顯示目錄説明文件
xferlog_enable=YES #是否記錄ftp傳輸過程
connect_from_port_20=YES #是否確定端口傳輸來自20
xferlog_std_format=YES #是否使用標準的ftp xferlog模式
chroot_list_enable=YES #是否將系統用户限制在自己的home目錄下
chroot_list_file=/etc/vsftpd/chroot_list #列表不受限制的用户
listen=YES #是否開啓監聽
pam_service_name=vsftpd #服務名稱
anon_mkdir_write_enable=YES # 是否允許匿名用户創建目錄
userlist_enable=YES
tcp_wrappers=YES
修改配置文件後需要重啓服務
systemctl restart vsftpd.service