CentOS 7 使用者/密碼vsftpd搭建(主動模式/PORT)
阿新 • • 發佈:2018-12-14
一、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,傳輸模式選擇“主動”