介紹:文件傳輸協議FTP 兩種模式:伺服器角度 主動(PORT style):伺服器主動連接 命令(控制):客戶端:隨機port 伺服器:tcp21 數據:客戶端:隨機port 伺服器:tcp20 被動(PASV style):客戶端主動連接 命令(控制):客戶端:隨機port 伺服器: ...
介紹:文件傳輸協議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