FTP協議簡介

FTP協議簡介

FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩臺計算機之間互相傳送文件。相比於HTTP,FTP協議要複雜得多。複雜的原因,是因爲FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思爲主動式和被動式。

PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了臨時端口,你過來連接我”。於是服務器從20端口向客戶端的臨時端口發送連接請求,建立一條數據鏈路來傳送數據。

PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了臨時端口,你過來連接我”。於是客戶端向服務器的臨時端口發送連接請求,建立一條數據鏈路來傳送數據。

ftp的操作數據/var/ftp/pub 和~/student 家目錄。

匿名用戶默認登陸到/var/ftp/pub 。

認證用戶默認登錄到~/student家目錄。

selinux 安全上下文

/var/ftp/pub           public_content_t

~/home                 user_home_dir_t

查看安全上下文

ls -dZ  /var/ftp/pub

ls -dZ  ~/student

設置安全上下文

chcon -R  -t    'public_content_t'    /var/ftp/pub

chcon -R -t      'user_home_dir_t'   ~/student

selinux 布爾值

ftp_home_dir

( 

  查詢布爾值  getsebool -a |grep ftp

  設置布爾值   setsebool -P ftp_home_dir on

  )

idle-session-timeout =600   ( 空閒超時時間)

可以用tcp-wrapper  控制客戶端的訪問

#vi   /etc/hosts.deny

 vsftpd: 192.168.0.181 (ALL)  Except 192.168.0.254

或者使用/etc/vsftpd   ftpusers 文件進行控制。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章