1.安裝vsftpd
yum install vsftpd
2.添加一個ftp用戶,一個不能登錄系統用戶,只用來登錄ftp服務,這里如果沒設置用戶目錄。默認是在home下。
useradd ftpaccount -s /sbin/nologin
指向其它目錄,請運行指令:
useradd ftpaccount -s /sbin/nologin –d /其他目錄
設置密碼:
passwd ftpaccount
3.配置ftp配件
進入/etc/vsftpd 到該目錄下后,編輯vsftpd.conf文件
3.1設置anonymous_enable=NO //設置不允許匿名訪問
3.2設置pasv模式(被動模式,系統默認):pasv_enable=YES
3.3設置最小端口 pasv_min_port=4500
3.4設置最大端口 pasv_max_port=5000
3.4設置用戶權限:chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
3.5新建/etc/vsftpd/chroot_list文件並在里面加入上面創建的ftpaccount用戶
- chroot_local_user #是否將所有用戶限制在主目錄,YES為啟用 NO禁用.(該項默認值是NO,即在安裝vsftpd后不做配置的話,ftp用戶是可以向上切換到要目錄之外的)
- chroot_list_enable #是否啟動限制用戶的名單 YES為啟用 NO禁用(包括注釋掉也為禁用)
- chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目錄下的用戶名單,至於是限制名單還是排除名單,這取決於chroot_local_user的值,我們可以這樣記憶: chroot_local_user總是一個全局性的設定,其為YES時,全部用戶被鎖定於主目錄,其為NO時,全部用戶不被鎖定於主目錄。那么我們勢必需要在全局設定下能做出一些“微調”,即,我們總是需要一種“例外機制",所以當chroot_list_enable=YES時,表示我們“需要例外”。而”例外“的含義總是有一個上下文的,即,當”全部用戶被鎖定於主目錄“時(即chroot_local_user=YES),"例外"就是:不被鎖定的用戶是哪些;當"全部用戶不被鎖定於主目錄"時(即chroot_local_user=NO),"例外"“就是:要被鎖定的用戶是哪些。這樣解釋和記憶兩者之間的關系就很清晰了!
4.打開端口
firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=4500-5000/tcp --permanent
重新加載防火牆:
firewall-cmd --reload
查看開放的端口:
firewall-cmd --list-ports
5.啟動VSFTPD
systemctl start vsftpd.service
重啟:
systemctl restart vsftpd.service
6.開機啟動:
chkconfig vsftpd on
查看服務器是否安裝了vsftpd:
rpm -qa|grep vsftpd
用CMD上傳文件測試:ftp+IP測試,上傳用put+文件命令

