1. 程式人生 > >CentOS 7 使用者/密碼vsftpd搭建(主動模式/PORT)

CentOS 7 使用者/密碼vsftpd搭建(主動模式/PORT)

一、CentOS 7 非匿名vsftpd搭建(主動模式/PORT)

  • 檢查是否安裝了vsftp,輸入命令:
rpm -qa | grep vsftpd

返回版本資訊則已安裝,沒有,則未安裝。

  • 啟動vsftpd

systemctl start vsftpd
  • 配置vsftpd.conf
vi /etc/vsftpd/vsftpd.conf

開啟行數
:set number 

把第12行改成
anonymous_enable=NO
含義:不允許匿名訪問

把第100行改成
chroot_local_user=YSE
含義:是否允許使用者跳出使用者目錄(YES表示不允許,NO表示允許)

把第101行改成
chroot_list_enable=YES
含義:是否啟用chroot_list_file檔案,使檔案中的使用者可以跳出使用者目錄

把第103行改成
chroot_list_file=/etc/vsftpd/chroot_list
含義:chroot_list_file檔案的路徑,需要自行建立該檔案

把第114行改成
listen=YES
含義:vsftpd執行在ipv4上

把第123行改成
#listen_vip6=YES

把第126行改成
userlist_enable=YES
含義:是否啟用/etc/vsftpd路徑下的user_list檔案

在檔案末尾新增
userlist_deny=NO
含義:當且僅當userlist_enable=YES時:userlist_deny項的配置才有效,user_list檔案才會被使用;當其為NO時,無論userlist_deny項為何值都是無效的,本地全體使用者(除去ftpusers中的使用者)都可以登入FTP。
當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:所有出現在名單中的使用者都會被拒絕登入;
當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出現在名單中的使用者才會被准許登入(user_list之外的使用者都被拒絕登入);另外需要特別提醒的是:使用白名單後,匿名使用者將無法登入!除非顯式在user_list中加入一行:anonymous


allow_writeable_chroot=YES
含義:允許不可跳出使用者目錄的使用者“寫”檔案。


儲存並退出
:wq
  • 建立chroot_list檔案
vi /etc/vsftpd/chroot_list

:wq
  •  建立ftp使用者
建立使用者:
useradd -d /ftp_data -g ftp -s /sbin/nologin ftp_user1
含 義:  -d 指定使用者登入時的啟始目錄  -g 指定使用者所屬的群組 
       -s 指定使用者登入後所使用的shell(/sbin/nologin表示:無法登陸系統,但可以登陸ftp等一些服務)
        最後是使用者名稱

設定密碼:
passwd ftp_user1

按系統提示輸入密碼

       
  • 在user_list檔案中新增建立的ftp使用者
vi /etc/vsftpd/user_list

在檔案末尾新增ftp使用者名稱
ftp_user1

:wq

 開啟21埠 

firewall-cmd --zone=public --permanent --add-port=21/tcp
  • 重啟firewalld
systemctl restart firewalld
  • 重啟vsftpd
systemctl restart vsftpd
  • 如果使用windows的資源管理器訪問ftp伺服器,則需要進行如下操作:

設定IE瀏覽器>>Internet選項>>高階>>將“使用被動FTP(用於防火牆和DSL調變解調器的相容)”選項去掉>>確定即可

  • 使用FileZilla這類ftp軟體則需要把 ftp的傳輸模式改為主動。如:FileZilla軟體

編輯->設定->連線->ftp,傳輸模式選擇“主動”