Linux 學習筆記05丨在Ubuntu 20.04配置FTP伺服器
- 2020 年 11 月 28 日
- 筆記
- Linux 作業系統
感謝 linuxconfig.org 上的這篇英文教程
FTP用於訪問和傳輸本地網路上的文件,通過安裝 VSFTPD 軟體,打開熱點,配置相關資訊後即能夠啟動並運行FTP伺服器了。
1. 安裝和配置VSFTPD
在終端中輸入指令以安裝 VSFTPD
$ sudo apt-get install vsftpd
2. 設置 FTP 用戶帳號
首先我們對原配置文件 vsftpd.conf
進行備份,避免待會的操作中出錯。
$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
接著,我們通過編輯器(這裡用vi)打開原來的配置文件。
$ sudo vi /etc/vsftpd.conf
將下面基本配置資訊全部複製粘貼到剛打開的配置文件/etc/vsftpd.conf
,然後保存修改並關閉文件
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
由於Ubuntu的內置防火牆默認會阻止FTP的通訊,我們通過下面的指令在UFW中新建個例外以允許通訊。
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
重新啟動VSFTPD以應用新的更改。
$ sudo systemctl restart vsftpd
3. 創建一個FTP用戶
FTP伺服器已經就就緒,可以接受傳入的連接了。接下來就需要創建一個新的用戶從而連接到FTP服務。
創建新用戶 ftpuser
的同時設置該用戶的密碼:
$ sudo useradd -m ftpuser
$ sudo passwd ftpuser
為了保證運行成功,需要在ftpuser
的家目錄中保存至少一個文件。
$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
當我們連接到該FTP伺服器時,我們就能夠看到這樣的文件。
3. 連結FTP伺服器
現在,你用手機開下熱點,你的小夥伴通過連接你的熱點,然後輸入你那邊的IP地址或者主機名即能連接到FTP伺服器了。接下來介紹兩種方法,任意種方法都能夠成功連接。
3.1 使用命令行連接到FTP伺服器
打開終端,使用Ubuntu的 ftp
命令來連接你的 loopback 地址(127.0.0.1)或者 你電腦上特有的IP地址。
loopback 是一個特殊的網路介面(理解為虛擬網卡),用於本機中各個應用間的網路交互。
如何查看你電腦上的IP地址?
$ hostname -I #列印顯示的左邊那串數字即是你的Ipv4地址了
$ ftp 127.0.0.1
#或者 ftp 你的電腦IP地址
接下來,會顯示Connected
並讓你輸入帳號名稱與口令(就是第2步創建的帳號ftpuser
)
由此連接成功!通過ls
指令,就能查看該伺服器中的文件或者創建目錄了😄
3.2 通過GUI連接到FTP伺服器
打開文件管理器,點擊「其他位置」,在「連接到伺服器」那一欄中輸入 ftp://127.0.0.1
(使用你的IP地址也可以),點擊連接就會彈出窗口,輸入你第二步創建的帳號就能連接成功了。
成功連接後,就能看到直接所創建的文件了。