linuxFTP生產環境配置

1、ftp採用兩個端口控制:
A 20端口用於數據傳輸.
B 21端口用於控制,或指建立TCP連接.

2、主動方式連接過程:
[注意]:C表示客戶端 S表示服務器端
A、 S端要開啓20、21端口;
B、 C端一個隨機端口連接S端21,這個隨機範圍1024-65536,同時發送命令port+x,指明數據端口C(X)->S(21);
C、 S端收到命令後,將返回一個ACK,S(21)->C(X);
D、 S端將用自己的20端口與C端的X+1端口相連,S(20)->C(X+1);
E、 C給S返回ACT,C(X+1)->S(20).

3、被動方式連接過程:

[注意]:C表示客戶端 S表示服務器端
A、
S服務器端要開啓21端口和大於1024tcp端口;
B、
C以一個隨機端口X與S的21端口相連, 這個隨機端口範圍爲1024~65535, 併發送命令 PASV. C(X) -> S(21)
C、
S收到命令, 返回一個ACK, 並在其中指明一個新的高位端口y. S(21) -> C(x)
D、
C發起 x+1端口到S的y的端口的連接.C(x+1) -> S(y)
E、
S返回一個ACK. S(y) ->C(x+1)

二 用事例說明主動模式和被動模式的區別
1、VSFTP安裝
yum install vsftpd -y
2、關閉iptables和selinux
具體安全設置,可根據情況而定。
3、主動模式的配置方法
其餘配置,可根據需求而定

4、被動模式的配置方法
其餘配置,可根據需求而定

5、啓動
chkconfig --level 2345 vsftpd on
/etc/init.d/vsftpd start

6、查看連接狀態
其中S是服務端IP,C是客戶端IP
被動模式

netstat -an |grep C

tcp 0 0 S:52160 C:16091 TIME_WAIT
tcp 0 0 S:21 C:15354 TIME_WAIT
tcp 0 434064 S:43407 C:16220 ESTABLISHED
tcp 0 0 S:21 C:16090 ESTABLISHED

主動模式

netstat -an |grep C

tcp 0 268488 S:20 C:18434 ESTABLISHED
tcp 0 0 S:21 C:18433 TIME_WAIT
tcp 0 0 S:20 C:18426 TIME_WAIT
tcp 0 0 S:21 C:18425 TIME_WAIT
tcp 0 0 S:21 C:18418 TIME_WAIT
tcp 0 0 S:20 C:18420 TIME_WAIT
tcp 0 0 S:21 C:18369 TIME_WAIT
tcp 0 0 S:20 C:18397 TIME_WAIT
tcp 0 0 S:21 C:18387 ESTABLISHED
[注意:]
Vsftp主動模式和被動模式是可以共存的。

主動模式和被動模式的區別在於,主動模式下,ftp採用的是20端口傳送數據,而被動模式下,ftp採用的是大於1024的隨機端口。所以被動模式下,必要關閉防火牆!

connect_from_port_20=YES
#主動式連接使用的數據通道

pasv_enable=NO
#支持數據流的被動式連接模式

connect_from_port_20=NO
#主動式連接使用的數據通道

pasv_enable=YES
#支持數據流的被動式連接模式
pasv_min_port=1024
pasv_max_port=65536

pasv_address (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中服務器傳回的ip地址

3、添加FTP賬號

A. 登錄Linux主機後,運行命令:”useradd ftpadmin -s /sbin/nologin “。該賬戶路徑默認指向/home/ftpadmin目錄;如果需要將用戶指向其他目錄,請運行命令:useradd ftpadmin -s /sbin/nologin –d /www(其他目錄)

B. 設置ftpadmin用戶密碼,運行命令:”passwd ftpadmin” ; 輸入兩次密碼,匹配成功後,就設置好了ftpadmin用戶的密碼了。

C.測試連接,您可以在“我的電腦”地址欄中輸入 ftp://IP 來連接FTP服務器,根據提示輸入賬戶密碼。
3.更改用戶相應的權限設置:

  1. usermod -s /sbin/nologin test #限定用戶test不能telnet,只能ftp
  2. usermod -s /bin/bash test #用戶test恢復正常
  3. usermod -d /home/test test #更改用戶test的主目錄爲/test
    6.如果要刪除用戶,用下面代碼:
  4. #在root用戶下:
  5. userdel -r newuser
  6. #在普通用戶下:
  7. sudo userdel -r newuser
    #配置登錄用戶
    chroot_list_enable=YES
    #配置用戶名單,列表一個用戶一行(有名稱的表示有權限可以登錄)
    chroot_list_file=/etc/vsftpd/chroot_list
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章