linux中搭建公網ftp伺服器

2022-07-20 10:45:07 字數 4648 閱讀 4728

linux搭建

ftp伺服器彙總整理

使用截圖如下:

一、檢查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伺服器。

此使用者模式非常不安全,一般不採用。如果需要詳情見網上連線:

2、本地使用者:

首先在linux中需要建立使用者,然後將建立的使用者新增到

ftp伺服器的白名單中,然後該使用者才可以登入

ftp伺服器。

預設使用者可以登入ftp,也可以通過

sftp

登入上去檢視其它資源,可以讓使用者只登入

ftp,不能通過

sftp

方式登入伺服器。

此使用者模式比匿名想對安全,需要限定ftp使用者不能通過

sftp

方式訪問

22埠的伺服器資源就更加安全了。

3、虛擬使用者:

就是不需要建立linux中實際賬號,只需要配置虛擬使用者、生成資料檔案配置就行,詳情見網上連線:

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檔案中新增使用者名稱,一行乙個

linux中搭建ftp服務

第二步 重啟ftp服務systemctl restart vsftpd 重啟vsftpd服務以後,會在 var建立ftp目錄,裡面包含pub分享,在 var ftp pub建立檔案1.txt,2.txt,3.txt這三個檔案 客戶端訪問ftp服務 lftp 192.168.79.144 root l...

Linux 在 linux 中搭建 FTP 服務

在本篇博文中,我將會介紹如何搭建你自己的ftp服務 ftp位址和http位址 即網頁位址 非常相似,只是ftp位址使用ftp 字首而不是http 通常,擁有ftp位址的計算機是專用於接收ftp連線請求的。一台專用於接收ftp連線請求的計算機即為ftp伺服器或者ftp站點。現在,我們來開始搭建乙個ft...

Linux中搭建ftp伺服器

在linux中新增ftp使用者,並設定相應的許可權,操作步驟如下 1.檢視是否安裝vsftp root localhost vsftpd rpm qa grep vsftpd 若沒有安裝則執行yum install vsftpd 啟動ftp命令 service vsftpd start 停止ftp命...