兩個端口
ftp指令 端口21
ftp數據傳輸 端口20
兩種傳輸模式:
主動
被動
安裝
yum install vsftpd -y
編輯主配置文件
# vim /etc/vsftpd/vsftpd.conf
過濾掉沒用的註釋
# grep -v "#" /etc/vsftpd/vsftpd.conf
配置文件內容介紹
#允許匿名用戶登錄
1 anonymous_enable=YES
#允許本地用戶登錄
2 local_enable=YES
#允許本地用戶寫
3 write_enable=YES
#本地文件反掩碼
4 local_umask=022
#是否顯示提示信息
5 dirmessage_enable=YES
#是否記錄日誌
6 xferlog_enable=YES
7 connect_from_port_20=YES
8 xferlog_std_format=YES
9 listen=NO
10 listen_ipv6=YES
#可插拔認證模塊
12 pam_service_name=vsftpd
#用戶列表的功能
13 userlist_enable=YES
14 tcp_wrappers=YES
反掩碼介紹
- 匿名
1.1. 編輯vsftpd的主配置文件1 anonymous_enable=YES 2 anno_umask=022 3 anno_upload_enable=YES 4 anno_mkdir_write_enable=YES 5 anno_other_write_enable=YES 6 local_enable=YES 7 write_enable=YES 8 local_umask=022 9 dirmessage_enable=YES 10 xferlog_enable=YES 11 connect_from_port_20=YES 12 xferlog_std_format=YES 13 listen=NO 14 listen_ipv6=YES 15 16 pam_service_name=vsftpd 17 userlist_enable=YES 18 tcp_wrappers=YES
1.2. 重啓服務並設置爲開機啓動
# systemctl restart vsftpd # systemctl enable vsftpd
1.4. 關閉防火牆並保存
iptables -F service iptables save
1.5. 匿名用戶登錄使用的目錄
匿名用戶登錄的路徑/var/ftp/pub
1.6. 配置selinux
1.6.1. 查看關於ftp的selinux安全域getsebool -a | grep ftp
1.6.2. 設置selinux
setsebool -P ftpd_full_access=on
1.7. 設置ftp用戶對於/var/ftp/pub目錄的權限
匿名用戶登錄ftp後使用的是ftp賬號的權限,如果需要寫權限,需要修改權限chmod -R 777 /var/ftp/pub/
- 本地
2.1. 每個用戶自己的家目錄作爲文件傳輸所在的目錄
2.2. 編輯配置文件,默認就是支持本地用戶的
2.3. 編輯黑名單
/etc/vsftpd/ftpusers,刪掉root
/etc/user_list,刪掉root - 虛擬用戶