阿里雲伺服器搭建FTP技術總結
阿新 • • 發佈:2018-12-10
實現步驟: (1)開啟伺服器的21埠(FTP埠)以及所有TCP埠。因為客戶端和伺服器每次建立連線時,都會使用任意一個TCP埠作為臨時的socket。 (2)安裝vsftpd:
sudo apt-get update
sudo apt-get install vsftpd
(3)新建一個資料夾作為FTP的工作目錄,並新建FTP使用者。通常使用一個獨立的使用者進行FTP服務,涉及安全問題。mkdir /home/username
(建立使用者,其中username是隨意的使用者名稱)sudo useradd username -g ftp -d /home/username -m username
(新增使用者)
(useradd -g:指定使用者所屬的群組。值可以使組名也可以是GID。使用者組必須已經存在的,期預設值為100,即users)
(useradd -d:指定使用者登入時的主目錄,替換系統預設值/home/<使用者名稱>)
(useradd -m:自動建立使用者的登入目錄)sudo passwd username
mkdir /home/username/pub
(新建一個pub目錄用於存放檔案)chmod 777 -R /home/username/pub
(賦予全部訪問許可權)
(chmod -R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更)usermod -s /sbin/nologin username
(限制使用者username只能通過ftp登陸,而不能直接登陸伺服器)
新建/etc/vsftpd.chroot_list,並將username放進去,一個使用者一行。
(4)配置vsftpd.conf(難點),以下簡單列舉幾個,關於具體的配置請移步官方文件。
vi /etc/vsftpd.conf
- listen=NO
- anonymous_enable=NO(拒絕匿名登陸)
- write_enable=YES(可以上傳檔案)
- connect_from_port_20=YES(繫結20埠)
- chroot_local_user=YES
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list (上面三條配置實現的功能是:使用者限制在自己的主目錄下,使用者名稱單來源於/etc/vsftpd.chroot_list) (5)啟動vsftpd服務
sudo service vsftpd start sudo service vsftpd restart sudo service vsftpd stop