雲伺服器ESC 部署vsftpd服務 記一次ftp服務搭建的採坑過程,這個坑一直卡了很久時間,都給忘記了。最近由於公司項目需要部署FTP,經過各種採坑,終於把這個坑給填上了。廢話不多說,開乾 環境說明:阿裡雲伺服器(centos6系統) 1)安裝 vsftpd 服務 配置文件說明 2)配置 vsft ...
雲伺服器ESC 部署vsftpd服務
記一次ftp服務搭建的採坑過程,這個坑一直卡了很久時間,都給忘記了。最近由於公司項目需要部署FTP,經過各種採坑,終於把這個坑給填上了。廢話不多說,開乾
環境說明:阿裡雲伺服器(centos6系統)
1)安裝 vsftpd 服務
# yum install vsftpd -y
配置文件說明
/etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。 /etc/vsftpd/ftpusers 是黑名單文件,此文件里的用戶不允許訪問 FTP 伺服器。 /etc/vsftpd/user_list 是白名單文件,此文件里的用戶允許訪問 FTP 伺服器。
2)配置 vsftpd
vsftpd 安裝後預設開啟了匿名訪問 FTP 伺服器的功能,使用匿名用戶訪問,無需輸入用戶名和密碼即可登錄 FTP 服務,但是沒有許可權修改或上傳文件。
此處我配置本地用戶登錄
本地用戶登錄是指用戶使用 Linux 操作系統的賬號和密碼登錄 FTP 伺服器。
- 創建一個測試賬號 ftptest 並設置一個密碼
# useradd ftptest # echo "ftptest@123" |passwd --stdin ftptest
- 創建一個供 FTP 服務使用的文件目錄
# mkdir /var/ftp/test
- 更改 /var/ftp/test 目錄的擁有者為 ftptest
# chown ftptest:ftptest /var/ftp/test -R
- 修改配置文件前先進行備份一下
# cp /etc/vsftpd/vsftpd.conf{,.bak}
- 修改 vsftpd.conf 配置文件。(此處先使用被動模式)
#禁止匿名登錄FTP伺服器 anonymous_enable=NO #允許本地用戶登錄FTP伺服器 local_enable=YES #設置本地用戶登錄後所在目錄 local_root=/var/ftp/test
#全部用戶被限制在主目錄 chroot_local_user=YES#開啟被動模式 pasv_enable=YES #FTP伺服器公網IP(也就是當前阿裡雲伺服器的公網 IP) pasv_address=120.xx.xx.xx #設置被動模式下,建立數據傳輸可使用port範圍的最小值 pasv_min_port=10000 #設置被動模式下,建立數據傳輸可使用port範圍的最大值 pasv_max_port=10088 #本地用戶上傳文件的umask local_umask=022 #是否在進入新目錄時顯示 message_file 文件中的內容 dirmessage_enable=YES #啟用日誌 xferlog_enable=YES #日誌是否進行格式化 xferlog_std_format=YES #獨立服務 listen=YES #centos7增加此設置,開啟後預設監控ipv4和ipv6 listen_ipv6=NO #認證模式 pam_service_name=vsftpd #啟用用戶列表 userlist_enable=YES #可以上傳(全局控制) write_enable=YES #允許下載 download_enable=YES - 啟動 vsftpd
# service vsftpd start
3)設置安全組規則(這裡很關鍵)由於上面是被動模式,所以添加埠時包含了 預設埠21,還有配置文件中參數pasv_min_port和pasv_max_port之間的所有埠。如圖:
4)測試,我們先在linux上面測試,再在瀏覽器上面測試,再在windows的文件夾測試
1、Linux 上測試 ftp IP
[root@srt_aliyun_39 ~]# ftp 120.xx.xx.xx Connected to 120.xx.xx.xx (120.xx.xx.xx). 220 (vsFTPd 2.2.2) Name (120.79.93.66:root): ftptest 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (120,xx,xx,xx,xx,81). 150 Here comes the directory listing. 226 Directory send OK. ftp> pwd 257 "/var/ftp/test" ftp> mkdir testdir 257 "/var/ftp/test/testdir" created ftp> ls 227 Entering Passive Mode (120,xx,xx,xx,39,43). 150 Here comes the directory listing. drwxr-xr-x 2 505 505 4096 Apr 12 10:00 testdir 226 Directory send OK.
可以看到在linux 上面測試沒有問題,可以正常訪問,並創建文件夾等。
2、瀏覽器上測試 ftp://ip
可以看到在瀏覽器上面測試也是ok,不過瀏覽器上面只能查看,和下載 不能上傳。可以看到在Linux上測試時創建的那個目錄
3、在windows上通過文件夾訪問測試(說明:這裡就得配置配置了,不然會報各種各樣的錯,因為我們伺服器使用的是被動模式,那麼同樣的道理,客戶端也得使用被動模式去連接服務端。) ftp://ip
選擇 控制面板 > 網路和Internet
可以看到 進去後預設同樣看到了在linux上面創建的 testdir目錄, 並且還新建了一個windir目錄。
4、再次回到伺服器查看,也可以看到上面測試創建的文件,被動模式就OK了。
# ls /var/ftp/test/ testdir windir