vsftpd理论
各種FTP
?
????????? FTP??? 基本最常見的FTP??? TCP21
????????? FTPS??? 基于TLS/SSL????????? TCP21
????????? SFTP??? 基于SSH????????????????? TCP22
????????? HTTP??? 基于HTTP????????????? TCP80
????????? HTTPS?? 基于SSL??????????????? TCP443
?
????????? FTP是文件傳輸協議(File Transport Protocol)的英文縮寫
????????? FTP服務器根據服務對象的不同可分為匿名服務器和系統FTP服務器
????????? UNIX與Linux下常用的FTP軟件:
–???? Wu-FTP? linux8.0之前的版本用Wu-FTP
–???? Vsftpd??? ?linux8.0(包含8.0)之后的版本用vsftpd
?
????????? vsftpd是一個基于GPL發布的類UNIX系統上使用的FTP服務器軟件
????????? vsftpd的特性:
–???? 安全
–???? 高速
–???? 穩定
–???? 支持基于IP 的虛擬FTP 服務器
–???? 支持虛擬用戶
–???? 支持PAM 或xinetd/tcp_wrappers 的認證方式
–???? 支持兩種運行方式:獨立和Xinetd
–???? 支持每個虛擬用戶具有獨立的配置
–???? 支持帶寬限制
?
連接模式
Port和Pasv
?
????????? vsftpd軟件包名
–???? vsftpd-2.0.5-10.el5.i386.rpm (2)
?
????????? /etc/vsftpd/vsftpd.conf
–???? vsftpd服務的主配置文件,定義功能及操作方法
????????? /etc/vsftpd/ftpusers
–???? 指定哪些用戶不能訪問FTP服務器
????????? /etc/vsftpd/user_list
–???? 在這個文件中指定的用戶默認情況下不能訪問FTP服務器(默認的情況下不在配置文件中作任何配置是黑名單)
????????? 是否使用該文件取決于vsftpd.conf中userlist_enable的配置
????????? 該文件中所列用戶的訪問權限取決于vsftpd.conf中userlist_deny的配置
????????? 啟動服務:
# service vsftpd start
?
????????? 停止服務:
# service vsftpd stop
?
?
????????? 檢查進程
# ps ax |grep vsftpd
3154 ???????? Ss???? 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
?
????????? 檢查端口
# netstat -nat |grep 21
tcp ???????0????? 0 0.0.0.0:21????????? 0.0.0.0:*??????????? LISTEN
?
?
vsftpd服務日志記錄保存在/var/log/xferlog
?
Tue Sep 25 14:23:24 2007 1 127.0.0.1 0 /pub/install.log b _ o a ? ftp 0 * i
Tue Sep 25 14:23:56 2007 1 127.0.0.1 25092 /home/user01/install.log b _ i r user01 ftp 0 * c
?
current-time ???? 本次傳輸發生的時間,表示為當前系統時間
transfer-time ??? 文件傳輸所消耗的時間,以秒為單位
remote-host ????? 遠程客戶機的IP地址
file-size ???? 傳輸文件的大小。單位為字節
filename ??? 傳輸文件的名字
transfer-type ??? 傳輸類型??捎玫闹涤小?/span>a”和“b”,“a”代表使用ascii方式傳送,“b”為使用?? binary方式傳輸
special-action-flag ??? 特殊的活動標記。如果為“C”表示傳輸時進行了壓縮操作,如果為“U”則??????? 為在傳輸時進行了解壓縮操作。多數情況下為“_”表示無動作
direction ??? 文件傳輸的方向?!?/span>o”為下載,“i”為上傳
access-mode ???? 登錄用戶的類型?!?/span>a”為匿名用戶,“r”為本地(系統)用戶
username ? 登錄用戶的名稱
service-name ??? 本次傳輸調用的服務名稱。顯示為ftp
authentication-method?????? 驗證方法。一般為數字“0”,如果為“1”時使用了RFC931定義的驗證方法
authenticated-user-id ????? 如果未使用RFC931定義的驗證方法,則這部分顯示“*”。否則返回用戶ID
completion-status ??? 完成狀態?!?/span>c”表示本次傳輸成功完成,“i”則說明這次傳輸沒有完成,????????????? 可能被意外地中斷了
?
????????? port主動方式的FTP是這樣的:客戶端從一個任意的非特權端口N(N>1024)連接到FTP服務器的命令端口,也就是21端口。然后客戶端開始監聽端口N+1,并發送FTP命令“port N+1”到FTP服務器。接著服務器會從它自己的數據端口(20)連接到客戶端指定的數據端口(N+1)。
????????? pasv客戶端打開兩個任意的非特權本地端口(N > 1024和N+1)。第一個端口連接服務器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令并允許服務器來回連它的數據端口,而是提交 PASV命令。這樣做的結果是服務器會開啟一個任意的非特權端口(P > 1024),并發送PORT P命令給客戶端。然后客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。
?
數據連接的作用
????????? 從客戶向服務器上傳一個文件
????????? 從服務器向客戶下載一個文件
????????? 從服務器向客戶發送文件或目錄列表
?
轉載于:https://blog.51cto.com/sngyqd/394986
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 梦到父亲被蛇咬是什么意思
- 下一篇: 孕妇梦到血是怎么回事