1、關閉預設防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
另一種寫法
#停止firewalld服務
systemctl stop firewalld
#禁用firewalld服務
systemctl mask firewalld
2、安裝iptables防火牆
#先檢查是否安裝了iptables service iptables status #安裝iptables yum install -y iptables #升級iptables(安裝的最新版本則不需要) yum update iptables #安裝iptables-services,也許可以只做這一步,前邊自動安裝? yum install iptables-services
3、編輯防火牆配置檔案
vi /etc/sysconfig/iptables #編輯防火牆配置檔案 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT :wq! #儲存退出 systemctl restart iptables.service #最後重啟防火牆使配置生效 systemctl enable iptables.service #設定防火牆開機啟動 說明:21埠是ftp服務埠;10060到10090是Vsftpd被動模式需要的埠,可自定義一段大於1024的tcp埠。
4、安裝ftp和vsftpd
yum install -y ftp vsftpd
#設定開機啟動
systemctl enable vsftpd.service
5、修改vsftpd配置
1 開啟 /etc/vsftpd/vsftpd.conf檔案。將anonymous_enable=YES,改為anonymous_enable=NO
2 開啟 /etc/vsftpd/vsftpd.conf檔案。新增user_config_dir=/etc/vsftpd/virtual,並建立virtual目錄。在此目錄中建立以使用者名稱為檔名的檔案,並寫入:local_root=[目錄],這個目錄即是FTP連線時的主目錄。
3 限定使用者只在自己目錄:修改vsftpd.conf檔案,取消註釋:chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list在/etc/vsftpd/目錄下新增檔案chroot_list,加入作為FTP使用者的本地使用者名稱。
4 解決使用者無法進入目錄問題:開啟終端,輸入:setsebool -P ftpd_disable_trans 1然後重啟FTP服務:service vsftpd restart
部分摘自:http://www.linuxidc.com/Linux/2016-09/135636.htm