vsftpd是Linux下的一款小巧輕快、安全易用的FTP服務器軟件捌治。本教程以CentOS 7.2 64位操作系統(tǒng)為例列粪,介紹如何在Linux實例上安裝并配置vsftpd土至。
前提條件
使用本教程進行操作前,請確保您已經(jīng)注冊了阿里云賬號啡浊。如還未注冊觅够,請先完成賬號注冊胶背。
背景信息
Linux 實例搭建FTP站點具體步驟如下:
視頻教程
步驟一: 安裝vsftpd
完成以下操作,安裝vsftpd喘先。
遠程連接Linux實例钳吟。具體操作,請參見使用用戶名密碼驗證連接Linux實例窘拯。
-
運行以下命令安裝vsftpd红且。
yum install -y vsftpd
-
依次運行以下命令進入/etc/vsftpd目錄暇番,并查看該目錄下的文件。
cd /etc/vsftpd
ls
說明
- /etc/vsftpd/vsftpd.conf是vsftpd的核心配置文件思喊。
- /etc/vsftpd/ftpusers是黑名單文件壁酬,此文件中的用戶不允許訪問FTP服務器。
- /etc/vsftpd/user_list是白名單文件恨课,此文件中的用戶允許訪問FTP服務器厨喂。
-
運行以下命令設置FTP服務開機自啟動。
systemctl enable vsftpd.service
-
運行以下命令啟動FTP服務庄呈。
systemctl start vsftpd.service
-
運行以下命令查看FTP服務監(jiān)聽的端口蜕煌。
netstat -antup | grep ftp
vsftpd安裝后默認開啟了匿名訪問FTP服務器的功能。使用匿名訪問诬留,您無需輸入用戶名密碼即可登錄FTP服務器斜纪,但沒有權限修改或上傳文件。
步驟二: 配置vsftpd
本節(jié)介紹以下兩種配置vsftpd的方法文兑,并提供了相關的參數(shù)說明盒刚,您可以根據(jù)具體需要進行參考。
- 方法一:配置匿名用戶上傳文件權限
- 方法二:配置本地用戶登錄
方法一:配置匿名用戶上傳文件權限
匿名訪問FTP服務器是一種不安全的訪問模式绿贞,任何人無需密碼驗證就可以登錄到FTP服務器因块,這種模式一般只用來保存不重要的公開文件,不推薦在生產(chǎn)環(huán)境中使用籍铁。配置匿名用戶上傳文件的權限的操作步驟如下:
-
修改配置文件/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
方法二:配置本地用戶登錄
本地用戶登錄是指用戶使用Linux操作系統(tǒng)的賬號和密碼登錄FTP服務器星澳。vsftpd安裝后默認只支持匿名訪問FTP服務器秸滴,如果您試圖使用本地用戶登錄服務器,將會被vsftpd服務拒絕募判。配置本地用戶訪問FTP服務器的操作步驟如下:
-
運行以下命令為FTP服務創(chuàng)建一個Linux用戶荡含。本示例中,該用戶名為ftptest届垫。
useradd ftptest
-
運行以下命令修改ftptest用戶的密碼释液。
passwd ftptest
-
運行以下命令創(chuàng)建一個供FTP服務使用的文件目錄。
mkdir /var/ftp/test
-
運行以下命令更改/var/ftp/test目錄的擁有者為ftptest装处。
chown -R ftptest:ftptest /var/ftp/test
-
修改vsftpd.conf配置文件误债。
運行
vim /etc/vsftpd/vsftpd.conf
命令打開配置文件。按i進入編輯模式妄迁。
-
根據(jù)實際需要寝蹈,配置FTP服務器為主動模式或被動模式。
-
主動模式下登淘,客戶端向服務端發(fā)送數(shù)據(jù)端口的信息箫老,由服務端主動連接客戶端發(fā)送的數(shù)據(jù)端口。配置FTP為主動模式的參數(shù)如下:
#禁止匿名登錄FTP服務器 anonymous_enable=NO #允許本地用戶登錄FTP服務器 local_enable=YES #設置本地用戶登錄后所在的目錄 local_root=/var/ftp/test #全部用戶被限制在主目錄 chroot_local_user=YES #啟用例外用戶名單 chroot_list_enable=YES #指定例外用戶列表黔州,這些用戶不被鎖定在主目錄 chroot_list_file=/etc/vsftpd/chroot_list #配置其他參數(shù) allow_writeable_chroot=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
-
被動模式下耍鬓,服務端開啟并發(fā)送數(shù)據(jù)端口的信息給客戶端,由客戶端連接服務端開啟的數(shù)據(jù)端口流妻,服務端被動接受連接牲蜀。在被動模式下,您需要配置服務端可以開啟的數(shù)據(jù)端口范圍绅这。配置FTP為被動模式的參數(shù)如下:
#禁止匿名登錄FTP服務器 anonymous_enable=NO #允許本地用戶登錄FTP服務器 local_enable=YES #設置本地用戶登錄后所在目錄 local_root=/var/ftp/test #全部用戶被限制在主目錄 chroot_local_user=YES #啟用例外用戶名單 chroot_list_enable=YES #指定例外用戶列表涣达,這些用戶不被鎖定在主目錄 chroot_list_file=/etc/vsftpd/chroot_list #開啟被動模式 pasv_enable=YES #FTP服務器公網(wǎng)IP pasv_address=<FTP服務器公網(wǎng)IP> #設置被動模式下,建立數(shù)據(jù)傳輸可使用port范圍的最小值 pasv_min_port=port number #設置被動模式下证薇,建立數(shù)據(jù)傳輸可使用port范圍的最大值 pasv_max_port=port number #配置其他參數(shù) local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES tcp_wrappers=YES allow_writeable_chroot=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES
說明 建議您把端口范圍設在比較高的一段范圍內(nèi)度苔,例如50000-50010,有助于提高訪問FTP服務器的安全性棕叫。
-
按Esc退出編輯模式林螃,然后輸入:wq并回車以保存并關閉文件。
-
創(chuàng)建chroot_list文件俺泣,并在文件中寫入例外用戶名單。
- 運行
vim /etc/vsftpd/chroot_list
命令創(chuàng)建chroot_list文件。 - 按i進入編輯模式伏钠。
- 輸入例外用戶名單横漏。此名單中的用戶不會被鎖定在主目錄,可以訪問其他目錄熟掂。
- 按Esc退出編輯模式缎浇,然后輸入:wq并回車以保存并關閉文件。
說明 如果沒有例外用戶也必須要有chroot_list文件赴肚,內(nèi)容可為空素跺。
- 運行
-
運行以下命令重啟vsftpd服務。
systemctl restart vsftpd.service
配置文件vsftpd.conf參數(shù)說明
運行命令cat /etc/vsftpd/vsftpd.conf
可以查看配置文件內(nèi)容誉券。
-
用戶登錄控制參數(shù)說明如下表所示指厌。
<caption></caption>
參數(shù) 說明 anonymous_enable=YES 接受匿名用戶 no_anon_password=YES 匿名用戶login時不詢問口令 anon_root=(none) 匿名用戶主目錄 local_enable=YES 接受本地用戶 local_root=(none) 本地用戶主目錄 -
用戶權限控制參數(shù)說明如下表所示。
<caption>
</caption>參數(shù) 說明 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 匿名上傳文件所屬用戶名
步驟三: 設置安全組
搭建好FTP站點后踊跟,您需要在實例安全組的入方向添加放行下列FTP端口的規(guī)則踩验。
- FTP為主動模式時:端口21。
- FTP為被動模式時:端口21商玫,以及配置文件/etc/vsftpd/vsftpd.conf中參數(shù)pasv_min_port和pasv_max_port之間的所有端口箕憾。
添加安全組規(guī)則的具體步驟,請參見添加安全組規(guī)則拳昌。
步驟四: 客戶端測試
您可以通過FTP客戶端或瀏覽器訪問FTP服務器進行測試袭异。本教程以windows自帶的IE(Internet Explorer)瀏覽器為例,分別為您介紹FTP服務器配置為主動模式或被動模式時的訪問步驟炬藤。
- FTP服務器為主動模式
- 打開客戶端的IE瀏覽器扁远。
- 將瀏覽器設置為主動訪問模式。選擇設置 >Internet 選項 > 高級刻像。選中啟用 FTP 文件夾視圖畅买,取消勾選使用被動 FTP。
- 在地址欄中輸入
ftp://<FTP服務器IP地址>:FTP端口
细睡,例如:ftp://39.10.0.28:21
谷羞。 - 在彈出的對話框中,輸入用戶名和密碼溜徙,即可對FTP文件進行相應權限的操作湃缎。
- FTP服務器為被動模式
- 打開客戶端的IE瀏覽器。
- 將瀏覽器設置為被動訪問模式蠢壹。選擇設置 > Internet 選項 > 高級嗓违。選中啟用FTP文件夾視圖和使用被動FTP。
- 在地址欄中輸入
ftp://<FTP服務器IP地址>:FTP端口
图贸,例如:ftp://39.10.0.28:21
蹂季。 - 在彈出的對話框中冕广,輸入用戶名和密碼,即可對FTP文件進行相應權限的操作偿洁。
摘自:https://help.aliyun.com/document_detail/92048.html?spm=a2c4g.11186623.6.1122.36627bfesFpCEY