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命...