阿里雲服務器配置FTP

阿里雲服務器配置FTP

轉載至https://www.jianshu.com/p/c1639416fc73

前言

   vsftpd 是 Linux 下的一款小巧輕快、安全易用的 FTP 服務器軟件,是一款在各個 Linux 發行版中最受推崇的 FTP 服務器軟件。本文以 CentOS 7.2 64位操作系統爲例,說明如何在 Linux 實例上安裝 vsftpd。

Linux 實例搭建 FTP 站點具體操作步驟如下:

  • 步驟一: 安裝 vsftpd
  • 步驟二: 配置 vsftpd
  • 步驟三: 設置安全組
  • 步驟四: 客戶端測試

步驟一: 安裝 vsftpd

  1. 輸入 SSH 命令連接:ssh 用戶名@實例的(彈性)公網 IP
  2. 輸入實例登錄密碼。
  3. 運行以下命令安裝 vsftpd。
yum install -y vsftpd

出現如圖表示成功

  1. 運行以下命令打開及查看 etc/vsftpd。
cd /etc/vsftpd
ls

說明

  • /etc/vsftpd/vsftpd.conf 是核心配置文件。
  • /etc/vsftpd/ftpusers 是黑名單文件,此文件裏的用戶不允許訪問 FTP 服務器。
  • /etc/vsftpd/user_list 是白名單文件,是允許訪問 FTP 服務器的用戶列表。
  1. 運行以下命令設置開機自啓動。
systemctl enable vsftpd.service
  1. 運行以下命令啓動 FTP 服務。
 systemctl start vsftpd.service
  1. 運行以下命令查看 FTP 服務端口。
 netstat -antup | grep ftp

出現如圖啓動成功

步驟二: 配置 vsftpd

vsftpd 安裝後默認開啓了匿名 FTP 的功能,使用匿名 FTP,用戶無需輸入用戶名密碼即可登錄 >FTP 服務器,但沒有權限修改或上傳文件。

文本介紹了以下幾個配置 vsftpd 的方法以及相關的參數說明,您可以根據具體需要進行參考。

  • 配置匿名用戶上傳文件權限
  • 配置root用戶登錄
  • 配置本地用戶登錄
  • vsftpd.conf 的配置文件參數說明

1. 配置匿名用戶上傳文件權限
 修改 vsftpd.conf 的配置文件的選項,可以賦予匿名 FTP 更多的權限。

①. 修改 /etc/vsftpd/vsftpd.conf: 運行 `vim /etc/vsftpd/vsftpd.conf`
②. 按 i 鍵進入編輯模式。
③. 將寫權限修改爲 `write_enable=YES`
④. 將匿名上傳權限修改爲 `anon_upload_enable=YES`
⑤. 按 Esc 鍵退出編輯模式,然後輸入 :wq 保存並退出文件。

 運行以下命令更改 /var/ftp/pub 目錄的權限,爲 FTP 用戶添加寫權限,並重新加載配置文件。

chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service

2. 配置root用戶登錄

說明

在centos中,vsftpd默認設置會禁止一些系統用戶登錄FTP,其中就包含root賬戶

 開啓的方式如下 :

①. 修改 /etc/vsftpd/user_list 和  /etc/vsftpd/ftpusers 運行:
      `vim /etc/vsftpd/user_list` 、 `vim /etc/vsftpd/ftpusers `
②. 按 i 鍵進入編輯模式。
③. 將root賬戶前加上`#`號變爲註釋。(即讓root賬戶從禁止登錄的用戶列表中排除)
④. 按 Esc 鍵退出編輯模式,然後輸入 :wq 保存並退出文件。

3. 配置本地用戶登錄

說明

本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 服務器。

 vsftpd 安裝後默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄服務器,將會被 vsftpd 拒絕,但可以在 vsftpd 裏配置用戶賬號和密碼登錄。具體步驟如下:

①. 運行以下命令創建 ftpuser 用戶:`useradd ftpuser`
②. 運行以下命令修改 ftpuser 用戶密碼:`passwd ftpuser`

創建用戶

③. 修改 /etc/vsftpd/vsftpd.conf:運行 `vim /etc/vsftpd/vsftpd.conf`
④. 按鍵 i 進入編輯模式。
⑤. 將是否允許匿名登錄 FTP 的參數修改爲 `anonymous enable=NO`
⑥. 將是否允許本地用戶登錄 FTP 的參數修改爲 `local_enable=YES`
⑦. 按鍵 Esc 退出編輯模式,然後按鍵 :wq 保存並退出文件。
⑦. 運行以下命令重新加載配置文件: `systemctl restart vsftpd.service`

3. vsftpd.conf 的配置文件參數說明

運行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件內容。

用戶登錄控制:

參數 說明
anonymous_enable=YES 接受匿名用戶
no_anon_password=YES 匿名用戶login時不詢問口令
anon_root=(none) 匿名用戶主目錄
local_enable=YES 接受本地用戶
local_root=(none) 本地用戶主目錄
pam_service_name=vsftpd 指出vsftpd進行pam認證時所使用的 pam 配置文件名。
userlist_enable=NO 文件中的用戶是否能夠訪問FTP服務器。若設置爲YES,則user_list文件中的用戶不允許訪問FTP,若設置爲NO,則只有user_list文件中的用戶才能訪問FTP。
listen_ipv6=YES 設定是否支持IPV6。如要同時監聽IPv4和IPv6端口。
listen=NO 是否允許監聽,如果設置爲YES,則vsftpd將以獨立模式運行,由vsftpd自己監聽和處理IPv4端口的連接請求。

用戶權限控制:

參數 說明
write_enable=YES 可以上傳(全局控制)
local_umask=022 本地用戶上傳文件的umask
file_open_mode=0666 上傳文件的權限配合umask使用
anon_upload_enable=NO 匿名用戶可以上傳
anon_mkdir_write_enable=NO 匿名用戶可以建目錄
anon_other_write_enable=NO 匿名用戶修改刪除
chown_username=lightwiter 匿名上傳文件所屬用戶名
tcp_wrappers=YES 在vsftpd中使用tcp_wrappers遠程訪問控制機制
connect_from_port_20=YES 指定FTP使用20端口進行數據傳輸,默認值爲YES。

步驟三: 設置安全組

搭建好 FTP 站點後,您需要在實例的安全組的入方向添加一條放行 FTP 端口的規則。

端口:vsftpd 默認端口爲 21
授權對象:設置爲0.0.0.0/0 則不選擇IP 訪問(IP地址是你訪問服務器時使用的設備IP)

配置

 

步驟四: 客戶端測試

 

image.png

 

image.png


常見問題

  • FileZilla 客戶端使用SFTP可以正常連接但使用FTP連服務器卻提示服務器拒絕可能是防火牆未設置:

開放FTP端口:

  • 暫時開放 ftp 服務
    firewall-cmd --add-service=ftp
  • 永久開放 ftp 服務
    firewall-cmd --add-service=ftp --permanent
  • 永久關閉ftp服務
    firewall-cmd --remove-service=ftp --permanent
  • 重啓防火牆讓設定生效
    systemctl restart firewalld
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章