介紹:檔案傳輸協議FTP
兩種模式:伺服器角度
主動(PORT style):伺服器主動連線
命令(控制):客戶端:隨機port — 伺服器:tcp21
資料:客戶端:隨機port —伺服器:tcp20
被動(PASV style):客戶端主動連線
命令(控制):客戶端:隨機port — 伺服器:tcp21
資料:客戶端:隨機port —伺服器:隨機port
FTP軟體
FTP伺服器:
Wu-ftpd,Proftpd,Pureftpd,ServU,IIS
vsftpd:Very Secure FTP Daemon,CentOS預設FTP伺服器
高速,穩定,下載速度是WU-FTP的兩倍
ftp.redhat.com資料:單機最多可支援15000個併發
客戶端軟體:
ftp,lftp,lftpget,wget,curl
ftp -A ftpserver port -A主動模式 –p 被動模式
lftp –u username ftpserver
lftp username@ftpserver
lftpget ftp://ftpserver/pub/file
gftp: GUI centos5 最新版2.0.19 (11/30/2008)
filezilla,CuteFtp,FlashFXP,LeapFtp
IE ftp://username:password@ftpserver
FTP狀態碼
狀態碼:
1XX:資訊 125:資料連線開啟
2XX:成功類狀態 200:命令OK 230:登入成功
3XX:補充類 331:使用者名稱OK
4XX:客戶端錯誤 425:不能開啟資料連線
5XX:伺服器錯誤 530:不能登入
使用者認證
匿名使用者:ftp,anonymous,對應Linux使用者ftp
系統使用者:Linux使用者,使用者/etc/passwd,密碼/etc/shadow
虛擬使用者:特定服務的專用使用者,獨立的使用者/密碼檔案
nsswitch:network service switch名稱解析框架
pam:pluggable authentication module 使用者認證
/lib64/security /etc/pam.d/ /etc/pam.conf
vsftpd服務:
使用者認證配置檔案:/etc/pam.d/vsftpd
服務指令碼: /usr/lib/systemd/system/vsftpd.service
/etc/rc.d/init.d/vsftpd
配置檔案:/etc/vsftpd/vsftpd.conf
vsftpd服務配置
命令埠
listen_port=21
主動模式埠
connect_from_port_20=YES 主動模式埠為20
ftp_data_port=20 (預設) 指定主動模式的埠
被動模式埠範圍
linux 客戶端預設使用被動模式
windows 客戶端預設使用主動模式
pasv_min_port=6000 0為隨機分配
pasv_max_port=6010
使用當地時間
use_localtime=YES 使用當地時間(預設為NO,使用GMT)
匿名使用者:配置
anonymous_enable=YES 支援匿名使用者(預設)
no_anon_password=YES(預設NO) 匿名使用者略過口令檢查
anon_world_readable_only (預設YES)只能下載全部讀的檔案
anon_upload_enable=YES 匿名上傳,注意:檔案系統許可權
anon_mkdir_write_enable=YES 匿名建目錄
anon_umask=077 指定匿名上傳檔案的umask
anon_other_write_enable=YES 可刪除和修改上傳的檔案
指定上傳檔案的預設的所有者和許可權
chown_uploads=YES(預設NO)
chown_username=wang
chown_upload_mode=0644
Linux系統使用者:配置(備註:使用者根有寫許可權是不行的)
guest_enable=YES 所有系統使用者都對映成guest使用者
guest_username=ftp 配合上面選項才生效,指定guest使用者
local_enable=YES 是否允許linux使用者登入
write_enable=YES 允許linux使用者上傳檔案
local_umask=022 指定系統使用者上傳檔案的預設許可權
local_root=/ftproot guest使用者登入所在目錄
禁錮所有系統使用者在家目錄中
chroot_local_user=YES(預設NO,不禁錮)禁錮系統使用者
禁錮或不禁錮特定的系統使用者在家目錄中,與上面設定功能相反
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
當chroot_local_user=YES時,則chroot_list中使用者不禁錮
當chroot_local_user=NO時,則chroot_list中使用者禁錮
wu-ftp日誌:預設啟用
xferlog_enable=YES (預設) 啟用記錄上傳下載日誌
xferlog_std_format=YES (預設) 使用wu-ftp日誌格式
xferlog_file=/var/log/xferlog (預設)可自動生成
vsftpd日誌:預設不啟用
dual_log_enable=YES 使用vsftpd日誌格式,預設不啟用
vsftpd_log_file=/var/log/vsftpd.log(預設)可自動生成
登入提示資訊
ftpd_banner=“welcome to mage ftp server”
banner_file=/etc/vsftpd/ftpbanner.txt 優先上面項生效
目錄訪問提示資訊
dirmessage_enable=YES (預設)
message_file=.message(預設) 資訊存放在指定目錄下.message