Linux下搭建FTP伺服器教程
一、基本安裝
1. 執行以下命令安裝 vsftpd。
yum install -y vsftpd
2.執行以下命令開啟及檢視etc/vsftpd
cd /etc/vsftpd
說明:/etc/vsftpd/vsftpd.conf 是核心配置檔案。/etc/vsftpd/ftpusers 是黑名單檔案,此檔案裡的使用者不允許訪問 FTP 伺服器。/etc/vsftpd/user_list 是白名單檔案,是允許訪問 FTP 伺服器的使用者列表。/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變數和設定
備註:使用命令 rpm -ql vsftpd 可列出vsftpd中包含的檔案
3.執行以下命令設定開機自啟動。
systemctl enable vsftpd
4.執行以下命令啟動 FTP 服務。
systemctl start vsftpd
5.執行以下命令檢視 FTP 服務埠。
netstat -antup | grep ftp
6.配置本地使用者登入本地使用者登入就是指使用者使用 Linux 作業系統中的使用者賬號和密碼登入 FTP 伺服器。
vsftpd 安裝後默只支援匿名 FTP 登入,使用者如果試圖使用 Linux 作業系統中的賬號登入伺服器,將會被 vsftpd 拒絕,但可以在 vsftpd 裡配置使用者賬號和密碼登入。具體步驟如下:
a. 執行以下命令建立 ftptest 使用者。
useradd ftptest (刪除使用者命令:sudo userdel -r newuser)
b.執行以下命令修改 ftptest 使用者密碼。
passwd ftptest
7.修改/etc/vsftpd/vsftpd.conf
a. 執行vim /etc/vsftpd/vsftpd.conf。
b. b.按鍵 “i” 進入編輯模式。
c. c.將是否允許匿名登入 FTP 的引數修改為anonymous enable=NO。
d. d.將是否允許本地使用者登入 FTP 的引數修改為local_enable=YES。
e. e.按鍵 “Esc” 退出編輯模式,然後按鍵“:wq” 儲存並退出檔案。
f. f.執行命令 cat /etc/vsftpd/vsftpd.conf 檢視配置檔案內容。
如果啟動不了,關閉ipvp6監聽vim /etc/vsftpd/vsftpd.conf
二、基本配置
完成vsftpd安裝後發現無法遠端連線,仍需要完成以下配置。
原因分析:
FTP連線方式分為:主動模式和被動模式。預設為被動模式。
如果為被動模式,伺服器端必須監聽至少一個額外的被動模式埠。
所以,若只開通20和21埠是不夠的,需要另外配置入站埠。
備註參考資訊:
FTP的連線一般是有兩個連線的,一個是客戶程和伺服器傳輸命令的,另一個是資料傳送的連線。FTP服務程式一般會支援兩種不同的模式,一種是Port模式,一種是Passive模式(Pasv Mode),我先說說這兩種不同模式連線方式的分別。先假設客戶端為C,服務端為S.Port模式:當客戶端C向服務端S連線後,使用的是Port模式,那麼客戶端C會傳送一條命令告訴服務端S(客戶端C在本地開啟了一個埠N在等著你進行資料連線),當服務端S收到這個Port命令後 就會向客戶端開啟的那個埠N進行連線,這種資料連線就生成了。Pasv模式:
當客戶端C向服務端S連線後,服務端S會發資訊給客戶端C,這個資訊是(服務端S在本地開啟了一個埠M,你現在去連線我吧),當客戶端C收到這個資訊後,就可以向服務端S的M埠進行連線,連線成功後,資料連線也建立了。
新增配置資訊 修改配置檔案 vim /etc/vsftpd/vsftpd.conf
解釋:8800/8899 為上面安全組新增的埠號pasv_enable=YES|NOYES,允許資料傳輸時使用PASV模式。NO,不允許使用PASV模式。預設值為YES。pasv_min_port=port number pasv_max_port=port number
設定在PASV模式下,建立資料傳輸所可以使用port範圍的下界和上界,0 表示任意。預設值為0。把埠範圍設在比較高的一段範圍內,比如50000-60000,將有助於安全性的提高。
完成以上配置,基本可以實現遠端連線FTP。
注意防火牆開放埠
配置完成記得重啟伺服器systemctl restart vsftpd
三、配置 vsftpd 限制 FTP 賬戶訪問其它目錄
使用 vsftpd 搭建 FTP 服務,可以配置使用者登入後,限制訪問其它的目錄,只能進它的主目錄。 配置方法如下:
1、開啟 vsftp 的配置檔案 vim /etc/vsftpd/vsftpd.conf 找到 chroot Chroot_local_user
設定所有的本地使用者都執行 chroot chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
2、設定指定使用者執行 chroot
找到並修改 chroot_list_enable=yes
3、chroot_list_file=/ 任意指定的路徑 /chroot_list (檔案中的名單可以呼叫)注意:vsftpd.chroot_list 是沒有建立的需要自己建立。若不想限制個別使用者,將使用者名稱新增到vsftpd.chroot_list檔案中,每個使用者名稱一行。
四、建立使用者
useradd -s /sbin/nologin -d /home/test test
"-s /sbin/nologin":指定該使用者無法使用bash或其他shell來登陸系統,僅用於ftp連線
"-d /home/test":指定該使用者的ftp目錄
如服務無法啟動systemctl restart vsftpd.service
設定selinux
需要設定selinux後才能訪問FTP伺服器:
setsebool -P ftp_home_dir 1 setsebool -P allow_ftpd_full_access 1
-P表示設定該專案永久套用
檢視selinux的ftp配置是否成功:
getsebool -a |grep ftp
"ftp_home_dir","ftpd_full_access"引數都為"on"表示配置成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2764151/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- Linux篇---ftp伺服器的搭建LinuxFTP伺服器
- win10如何搭建ftp伺服器步驟_win10ftp伺服器搭建教程Win10FTP伺服器
- 如何快速搭建ftp伺服器(詳細教程)FTP伺服器
- Centos7下搭建FTP檔案伺服器CentOSFTP伺服器
- linux ftp服務搭建LinuxFTP
- 【幹貸分享】手把手教你Linux搭建FTP伺服器LinuxFTP伺服器
- Linux伺服器---ftp配置Linux伺服器FTP
- Centos 6.6 搭建FTP伺服器CentOSFTP伺服器
- FTP伺服器——使用vsftpd搭建FTP伺服器
- linux下使用vsftp搭建FTP伺服器:匿名登入,賬號登入,SSL加密傳輸LinuxFTP伺服器加密
- linux ftp服務的搭建配置LinuxFTP
- Linux伺服器---ftp黑名單Linux伺服器FTP
- Linux伺服器---ftp限制ipLinux伺服器FTP
- ubuntu下搭建ftp服務端UbuntuFTP服務端
- Win10系統中怎麼搭建FTP伺服器【圖文教程】Win10FTP伺服器
- 快速搭建和訪問 FTP 伺服器FTP伺服器
- 如何搭建免費的ftp伺服器FTP伺服器
- Linux伺服器---ftp限制頻寬Linux伺服器FTP
- Linux伺服器下Java環境搭建Linux伺服器Java
- windows系統下搭建雲伺服器教程Windows伺服器
- 綠色ftp工具,綠色ftp工具下載,使用教程。FTP
- 從linux伺服器進行下載,除了ftp還有哪些方法Linux伺服器FTP
- ubuntu系統使用vsftpd搭建FTP伺服器。UbuntuFTP伺服器
- ubuntu1804搭建FTP伺服器的方法UbuntuFTP伺服器
- 搭建web伺服器和ftp伺服器的區別Web伺服器FTP
- Ubuntu下的FTP Servers搭建與連線UbuntuFTPServer
- 小白搭建ftp伺服器(vsftpd centos8.2)FTP伺服器CentOS
- 在linux下使用Apache搭建檔案伺服器LinuxApache伺服器
- 如何使用Linux構建高效FTP伺服器LinuxFTP伺服器
- windows搭建ftpWindowsFTP
- Linux搭建我的世界MC伺服器 - MCSM皮膚教程。Linux伺服器
- FTP伺服器搭建踩坑和工具類實現FTP伺服器
- 伺服器FTP工具,Windows伺服器FTP工具伺服器FTPWindows
- Linux基礎命令---lftp連線ftp伺服器LinuxFTP伺服器
- vmware環境下在linux中建立ftp伺服器LinuxFTP伺服器
- 用Python快速搭建http伺服器和FTP伺服器的步驟PythonHTTP伺服器FTP
- 【知識分享】windows系統下搭建雲伺服器教程Windows伺服器