Fedora 22 上配置 Proftpd 伺服器圖解教程
在本文中,我們將瞭解如何在執行 Fedora 22 的電腦或伺服器上使用 Proftpd 架設 FTP 伺服器。ProFTPD 是一款基於 GPL 授權的自由開源 FTP 伺服器軟體,是 Linux 上的主流 FTP 伺服器。它的主要設計目標是提供許多高階功能以及給使用者提供豐富的配置選項以輕鬆實現定製。它具備許多在其他一些 FTP 伺服器軟體裡仍然沒有的配置選項。最初它是被開發作為 wu-ftpd 伺服器的一個更安全更容易配置的替代。
FTP 伺服器是這樣一個軟體,使用者可以通過 FTP 客戶端從安裝了它的遠端伺服器上傳或下載檔案和目錄。下面是一些 ProFTPD 伺服器的主要功能,更詳細的資料可以訪問 http://www.proftpd.org/features.html。
- 每個目錄都可以包含 “.ftpaccess” 檔案用於訪問控制,類似 Apache 的 “.htaccess”
- 支援多個虛擬 FTP 伺服器以及多使用者登入和匿名 FTP 服務。
- 可以作為獨立程式啟動服務或者通過 inetd/xinetd 啟動
- 它的檔案/目錄屬性、屬主和許可權是基於 UNIX 方式的。
- 它可以獨立執行,保護系統避免 root 訪問可能帶來的損壞。
- 模組化的設計讓它可以輕鬆擴充套件其他模組,比如 LDAP 伺服器,SSL/TLS 加密,RADIUS 支援,等等。
- ProFTPD 伺服器還支援 IPv6.
下面是如何在執行 Fedora 22 作業系統的計算機上使用 ProFTPD 架設 FTP 伺服器的一些簡單步驟。
1. 安裝 ProFTPD
首先,我們將在執行 Fedora 22 的機器上安裝 Proftpd 軟體。因為 yum 包管理器已經被拋棄了,我們將使用最新最好的包管理器 dnf。DNF 很容易使用,是 Fedora 22 上採用的非常人性化的包管理器。我們將用它來安裝 proftpd 軟體。這需要在終端或控制檯裡用 sudo 模式執行下面的命令。
$ sudo dnf -y install proftpd proftpd-utils
2. 配置 ProFTPD
現在,我們將修改軟體的一些配置。要配置它,我們需要用文字編輯器編輯 /etc/proftpd.conf 檔案。/etc/proftpd.conf 檔案是 ProFTPD 軟體的主要配置檔案,所以,這個檔案的任何改動都會影響到 FTP 伺服器。在這裡,是我們在初始步驟裡做出的改動。
$ sudo vi /etc/proftpd.conf
之後,在用文字編輯器開啟這個檔案後,我們會想改下 ServerName 以及 ServerAdmin,分別填入自己的域名和 email 地址。下面是我們改的。
ServerName "ftp.linoxide.com" ServerAdmin arun@linoxide.com
在這之後,我們將把下面的設定加到配置檔案裡,這樣可以讓伺服器將訪問和授權記錄到相應的日誌檔案裡。
ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH auth
3. 新增 FTP 使用者
在設定好了基本的配置檔案後,我們很自然地希望新增一個以特定目錄為根目錄的 FTP 使用者。目前登入的使用者自動就可以使用 FTP 服務,可以用來登入到 FTP 伺服器。但是,在這篇教程裡,我們將建立一個以 ftp 伺服器上指定目錄為主目錄的新使用者。
下面,我們將建立一個名字是 ftpgroup 的新使用者組。
$ sudo groupadd ftpgroup
然後,我們將以目錄 /ftp-dir/ 作為主目錄增加一個新使用者 arunftp 並加入這個組中。
$ sudo useradd -G ftpgroup arunftp -s /sbin/nologin -d /ftp-dir/
在建立好使用者並加入使用者組後,我們將為使用者 arunftp 設定一個密碼。
$ sudo passwd arunftp Changing password for user arunftp. New password: Retype new password: passwd: all authentication tokens updated successfully.
現在,我們將通過下面命令為這個 ftp 使用者設定主目錄的讀寫許可權(LCTT 譯註:這是SELinux 相關設定,如果未啟用 SELinux,可以不用)。
$ sudo setsebool -P allow_ftpd_full_access=1 $ sudo setsebool -P ftp_home_dir=1
然後,我們會設定不允許其他使用者移動或重新命名這個目錄以及裡面的內容。
$ sudo chmod -R 1777 /ftp-dir/
4. 開啟 TLS 支援
目前 FTP 所用的加密手段並不安全,任何人都可以通過監聽網路卡來讀取 FTP 傳輸的資料。所以,我們將為自己的伺服器開啟 TLS 加密支援。這樣的話,需要編輯 /etc/proftpd.conf 配置檔案。在這之前,我們先備份一下當前的配置檔案,可以保證在改出問題後還可以恢復。
$ sudo cp /etc/proftpd.conf /etc/proftpd.conf.bak
然後,我們可以用自己喜歡的文字編輯器修改配置檔案。
$ sudo vi /etc/proftpd.conf
然後,把下面幾行附加到我們在第 2 步中所增加內容的後面。
TLSEngine on TLSRequired on TLSProtocol SSLv23 TLSLog /var/log/proftpd/tls.log TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
完成上面的設定後,儲存退出。
然後,我們需要生成 SSL 憑證 proftpd.pem 並放到 /etc/pki/tls/certs/ 目錄裡。這樣的話,首先需要在 Fedora 22 上安裝 openssl。
$ sudo dnf install openssl
然後,可以通過執行下面的命令生成 SSL 憑證。
$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
系統會詢問一些將寫入憑證裡的基本資訊。在填完資料後,就會生成一個 2048 位的 RSA 私鑰。
Generating a 2048 bit RSA private key ...................+++ ...................+++ writing new private key to '/etc/pki/tls/certs/proftpd.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:NP State or Province Name (full name) []:Narayani Locality Name (eg, city) [Default City]:Bharatpur Organization Name (eg, company) [Default Company Ltd]:Linoxide Organizational Unit Name (eg, section) []:Linux Freedom Common Name (eg, your name or your server's hostname) []:ftp.linoxide.com Email Address []:arun@linoxide.com
在這之後,我們要改變所生成憑證檔案的許可權以增加安全性。
$ sudo chmod 600 /etc/pki/tls/certs/proftpd.pem
5. 允許 FTP 通過 Firewall
現在,需要允許 ftp 埠,一般預設被防火牆阻止了。就是說,需要允許 ftp 埠能通過防火牆訪問。
如果 開啟了 TLS/SSL 加密,執行下面的命令。
$ sudo firewall-cmd --add-port=1024-65534/tcp $ sudo firewall-cmd --add-port=1024-65534/tcp --permanent
如果 沒有開啟 TLS/SSL 加密,執行下面的命令。
$ sudo firewall-cmd --permanent --zone=public --add-service=ftp success
然後,重新載入防火牆設定。
$ sudo firewall-cmd --reload success
6. 啟動並啟用 ProFTPD
全部設定好後,最後就是啟動 ProFTPD 並試一下。可以執行下面的命令來啟動 proftpd ftp 守護程式。
$ sudo systemctl start proftpd.service
然後,我們可以設定開機啟動。
$ sudo systemctl enable proftpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/proftpd.service to /usr/lib/systemd/system/proftpd.service.
7. 登入到 FTP 伺服器
現在,如果都是按照本教程設定好的,我們一定可以連線到 ftp 伺服器並使用以上設定的資訊登入上去。在這裡,我們將配置一下 FTP 客戶端 filezilla,使用 伺服器的 IP 或名稱 *作為主機名,協議選擇 *FTP,使用者名稱填入 arunftp,密碼是在上面第 3 步中設定的密碼。如果你按照第 4 步中的方式開啟了 TLS 支援,還需要在加密型別中選擇 要求顯式的基於 TLS 的 FTP,如果沒有開啟,也不想使用 TLS 加密,那麼加密型別選擇 簡單 FTP。
要做上述設定,需要開啟選單裡的檔案,點選站點管理器,然後點選新建站點,再按上面的方式設定。
隨後系統會要求允許 SSL 憑證,點確定。之後,就可以從我們的 FTP 伺服器上傳下載檔案和資料夾了。
總結
最後,我們成功地在 Fedora 22 機器上安裝並配置好了 Proftpd FTP 伺服器。Proftpd 是一個超級強大,能高度定製和擴充套件的 FTP 守護軟體。上面的教程展示瞭如何配置一個採用 TLS 加密的安全 FTP 伺服器。強烈建議設定 FTP 伺服器支援 TLS 加密,因為它允許使用 SSL 憑證加密資料傳輸和登入。本文中,我們也沒有配置 FTP 的匿名訪問,因為一般受保護的 FTP 系統不建議這樣做。 FTP 訪問讓人們的上傳和下載變得非常簡單也更高效。我們還可以改變使用者埠增加安全性。好吧,如果你有任何疑問,建議,反饋,請在下面評論區留言,這樣我們就能夠改善並更新文章內容。謝謝!玩的開心!
相關文章
- 在CentOS 7.5上安裝和配置ProFTPDCentOSFTP
- proftpd詳細配置FTP
- 硬碟安裝Fedora 22 Workstation Live的教程硬碟
- 在 Fedora 上安裝 MongoDB 伺服器MongoDB伺服器
- 如何在 Fedora 22 上面配置 Apache 的 Docker 容器ApacheDocker
- windows2003伺服器搭建DNS伺服器配置圖解教程Windows伺服器DNS圖解
- 如何在 Fedora 上建立一個 TFTP 伺服器FTP伺服器
- Fedora Core 4 基礎教程 (上傳完畢)(轉)
- CentOS 8.0.1905 linux伺服器系統安裝與配置圖解教程CentOSLinux伺服器圖解
- fedora 8上的系統日誌的配置檔案
- linux SVN安裝及配置圖解教程Linux圖解
- windows server 2008 r2 DNS伺服器配置教程圖文詳解WindowsServerDNS伺服器
- 如何使用 systemd-resolved 在 Fedora 上配置 DNS over TLSDNSTLS
- Windows server 2016伺服器上安裝oracle資料庫的教程圖解WindowsServer伺服器Oracle資料庫圖解
- CentOS安裝proftpdCentOSFTP
- ProFtpd快速指南(轉)FTP
- Linux 上配置 syslog 伺服器過程詳解Linux伺服器
- 在Win7的硬碟上安裝Fedora17的方法教程Win7硬碟
- Ubuntu Server 16.04伺服器版安裝圖解教程UbuntuServer伺服器圖解
- 如何Fedora 24升級至Fedora 25版?Fedora24升級至Fedora25版的詳細教程
- 4.4 伺服器上的 Git - 配置伺服器伺服器Git
- 安裝 Fedora 22 後要做的事情
- Wireshark圖解教程圖解
- Fedora配置fcitx5-rime
- CentOS 7.0系統安裝配置圖解教程——我是新手CentOS圖解
- Fedora 17上安裝virtualbox
- idea maven怎麼安裝配置 idea maven配置教程詳細圖解IdeaMaven圖解
- Express教程01:建立伺服器、配置路由Express伺服器路由
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- linux fedora11安裝配置Linux
- PHP配置CKEditor上傳圖片PHP
- GHOST使用教程圖解圖解
- # 向伺服器上傳圖片伺服器
- Fedora22如何安裝Adobe Flash Player?Fedora22安裝Adobe Flash Player的方法
- 在 Fedora 上優化 bash 或 zsh優化
- 在 Fedora 上使用 SSH 埠轉發
- 在 MacBook Air 上安裝 Fedora 26MacAI
- 在 Fedora 系統上設定 zsh