linux中搭建公網ftp服務器


Linux搭建ftp服務器匯總整理

推薦一款ftp客戶端工具:iis7服務器管理工具
IIs7服務器管理工具可以批量管理ftp站點,同時具備定時上傳下載的功能。
作為服務器集成管理器,它最優秀的功能就是批量管理windows與linux系統服務器、vps。能極大的提高站長及服務器運維人員工作效率。同時iis7服務器管理工具還是vnc客戶端,服務器真正實現了一站式管理,可謂是非常方便。
下載地址:http://yczm.iis7.com/?tscc
使用截圖如下:


 

一、檢查linux中是否已經安裝vsftpd服務端軟件

rpm -qa |grep vsftpd

二、卸載linux中的vsftpd服務端軟件

rpm -e vsftpd安裝版本號

三、安裝linux中的vsftpd服務端

yum install vsftpd -y

四、安裝linu中的ftp客戶端

yum install ftp

五、啟動停止重啟vsftpd服務端

啟動:service vsftpd start

關閉:service vsftpd stop

重啟:service vsftpd restart

六、設置開機自啟

chkconfig vsftpd on

七、配置vsftpd服務端模式

1、主動模式:(公司內網使用可以選擇此模式)

# vi /etc/vsftpd/vsftpd.conf

port_enable=YES

connect_from_port_20=YES

2、被動模式:(需要映射到公網的就選擇此模式,想對安全)

# vi /etc/vsftpd/vsftpd.conf
connect_from_port_20=NO

pasv_enable=YES(被動模式開啟)
pasv_min_port=3010(最小端口)
pasv_max_port=3015(最大端口)

pasv_address=公網IP地址(非常重要這個)

說明:最小端口、最大端口范圍最好是5-10端口就行,方便公網開通對應端口,端口數量太少,可能會導致有時候能連接上,有時候連接不上。

八、ftp服務器主動、被動模式區別

1、主動模式(PORT):

  原理:

 FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,客戶端隨機開放一個端口(1024以上), 發送 PORT命令到FTP服務器,告訴服務器客戶端采用主動模式並開放端口;FTP服務器收到PORT主動模式命令和端口號后,通過服務器的20端口和客戶端 開放的端口連接,發送數據。

  要點:

傳送數據時是“服務器”連接到“客戶端”的端口;

需要客戶端必須開放端口給服務器,很多客戶端都是在防火牆內,開放端口給FTP服務器訪問比較困難;

2、被動模式(PASV):

  原理:

FTP 客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務器開放的端口進行數據傳輸。

  要點:

傳送數據是“客戶端”連接到“服務器”的端口;

只需要服務器端開放端口給客戶端連接就行;

3、如何選擇ftp模式:

如果只是公司內部、局域網使用ftp,可以用主動模式,但是ftp客戶端防火牆最好關掉或者開放ftp需要的數據端口范圍,不存在安全問題也。如果是公網ftp就用被動模式,可以自定義端口,更加安全。

想要安全、連接方便就用被動模式。

九、ftp服務器中三種用戶模式

1、匿名用戶:

anonymous賬號,不用輸入密碼就能夠進入ftp服務器。

此用戶模式非常不安全,一般不采用。如果需要詳情見網上連接:https://www.cnblogs.com/revo/p/7444897.html

2、本地用戶:

首先在linux中需要創建用戶,然后將創建的用戶添加到ftp服務器的白名單中,然后該用戶才可以登錄ftp服務器。

默認用戶可以登錄ftp,也可以通過sftp登錄上去查看其它資源,可以讓用戶只登錄ftp,不能通過sftp方式登錄服務器。

此用戶模式比匿名想對安全,需要限定ftp用戶不能通過sftp方式訪問22端口的服務器資源就更加安全了。

3、虛擬用戶:

就是不需要創建linux中實際賬號,只需要配置虛擬用戶、生成數據文件配置就行,詳情見網上連接:https://www.cnblogs.com/revo/p/7444897.html

4、禁止ftp用戶ssh登錄(安全問題可以解決)

  禁止ftp用戶ssh登錄:

  查看/etc/shells文件,找到nologin的路徑

 

  執行命令:

usermod -s /sbin/nologin 用戶名稱

  解除ftp用戶ssh登錄禁止:

  查看/etc/shells文件,找到bash的路徑

 

  執行命令:

usermod -s /bin/bash 用戶名稱

十、修改vsftpd配置文件

1、匿名登錄:

允許:anonymous_enable=YES

不允許:anonymous_enable=NO

2、是否只顯示用戶路徑:

用戶只看到自己路徑:chroot_local_user=YES

用戶可查看其它路徑:chroot_local_user=NO

3、是否添加可查看其它目錄用戶名單:

不添加可查看其它目錄名單:chroot_list_enable=NO

添加可以查看其它目錄名單:

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list(用戶名單文件)

4、只允許名單內用戶登錄:

userlist_enable=NO

5、被動模式添加配置信息:

connect_from_port_20=NO

pasv_enable=YES
pasv_min_port=3010(最小端口)
pasv_max_port=3015(最大端口)

pasv_address=公網IP地址(非常重要這個)

6、添加可登錄用戶白名單:

user_list文件中添加用戶名,一行一個(此方式最方便,直接配置允許登錄的用戶賬號名稱即可)

7、添加可查看其它目錄用戶名單:

chroot_list文件中添加用戶名,一行一個,如果沒有自己創建文件

8、權限配置:

 local_umask=022(暫時不清楚為什么)

anon_umask=077(暫時不清楚為什么)

十一、修改linux的防火牆端口

vim /etc/sysconfig/iptables

添加一行,修改需要開通的端口號:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

如果是ftp是被動模式,還需要開通最小到最大端口的訪問:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3010:3015 -j ACCEPT(例如:最小為3010,最大為3015端口)

重啟服務

service iptables restart

十二、互聯網端口映射配置

1、ftp連接端口配置:

一般默認的就是21端口

2、ftp數據端口配置:

就是自己指定的最小端口、最大端口范圍內,包括最大、最小端口,逐個開通就行。

十三、ftp服務器增加新用戶步驟

1、創建用戶並指定默認路徑:

useradd -d /data/ftpFiles/lsyftp(指定home路徑)-m lsyftp(用戶名稱)

注意:用戶文件夾lsyftp不要自己創建,會自動創建,以免因為文件夾權限問題出現異常。

2、修改用戶密碼:

passwd lsyftp(用戶名稱)

3、禁止ftp用戶ssh登錄:

  查看/etc/shells文件,找到nologin的路徑

 

  執行命令:

usermod -s /sbin/nologin 用戶名稱

說明:通過禁止ftp用戶進行ssh登錄,可以盡量保證安全性;

4、將新創建用戶添加到ftp白名單中

/etc/vsftpd/user_list文件中添加用戶名,一行一個


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM