一 安裝vsftpd
查看是否已經安裝vsftpd
# rpm -qa | grep vsftpd
如果沒有,就安裝,并設置開機啟動
# yum -y install vsftpd
# chkconfig vsftpd on
添加一個防火墻例外:

# service iptables restart
基本命令參考
#service vsftpd status查看狀態
#service vsftpd start 啟動
#serivce vsftpd restart 重啟
#service vsftpd stop 停止
二 配置
配置文件在?/etc/vsftpd/vsftpd.conf

用戶權限配置說明:
? chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.所有用戶都被限制在其主目錄下
2.使用chroot_list_file指定的用戶列表,這些用戶作為“例外”,不受限制 1.所有用戶都不被限制其主目錄下
?2.使用chroot_list_file指定的用戶列表,這些用戶作為“例外”,受到限制
chroot_list_enable=NO 1.所有用戶都被限制在其主目錄下?
2.不使用chroot_list_file指定的用戶列表,沒有任何“例外”用戶 1.所有用戶都不被限制其主目錄下
?2.不使用chroot_list_file指定的用戶列表,沒有任何“例外”用戶
例如:現在我要讓所有用戶都限制在其主目錄下,而root用戶和wx用戶不做限制,則進行如下配置
# vi ??/etc/vsftpd/vsftpd.conf
其中chroot_list文件不存在
則用vi命令建立,如:
# cd ?/etc/vsftpd
# vi ?chroot_list
root
wx
配置完畢啟動
# service vsftpd start
另外關于文件ftpusers和user_list的說明:
【在/etc/目錄下的vsftpd/ftpusers和vsftpd/user-list兩個文件與主配置文件中的 "userlist_enable" 和 "userlist_deny" 選項相關。
兩個文件中,每個用戶名需占用一行。
當userlist_enable為YES時,如果一個用戶名在"vsftpd/user_list"文件中,而同時"userlist_deny"選項為"YES",
則該用戶在試圖登錄FTP服務器時,將不能夠登錄,甚至連輸入密碼的提示信息都沒有,直接被FTP服務器拒絕。
如果一個用戶名在"vsftpd/ftpusers"文件中,同時"userlist_deny"選項為"YES",則該用戶在試圖登錄FTP服務器時,
將能看到輸入密碼的提示,但即使正確輸入密碼仍然不能登錄FTP服務器。
這兩文件常用來阻止"root"、"apache"和"www"等系統用戶登錄FTP服務器以保護系統安全。
至于“兩個文件中用戶不同會怎樣,該用戶到底能否登陸”的問題答案是:只要名列這兩文件之一的都不能登錄。
兩個不同文件只是拒絕的時候出現的情況不同,“拒絕”是相同的。】
比方說我們要讓root用戶可以以ftp的身份登陸,那么從這兩個文件中注釋掉即可。
=========================================================
三 ?創建用戶
說明:系統自帶的用戶默認是可以直接進行ftp的,我們也可以單獨創建只能ftp的用戶
增加用戶jack,指向目錄/home/jack,禁止登錄SSH權限。
useradd ?-d /home/jack ?-g ?ftp ?-s ?/sbin/nologin ?jack
設置用戶口令
passwd ?jack
四 ?ftp基本命令
登錄 : ftp ?192.168.0.130 ? ? ? ?退出: bye
其它: ?在終端輸入help命令:

五 問題解決
?<1>centos vsftp 500 OOPS: cannot changedirectory:/home/ftp
? 原因是你的CentOS系統安裝了SELinux,因為默認下是沒有開啟FTP的支持,所以訪問時都被阻止了。
? //查看SELinux設置
? #getsebool -a|grep ftp
?ftp_home_dir-->off
改為on
# setsebool ftp_home_dir 1
? //再次查看當前狀態是否是on的狀態
? #getsebool-a|grep ftp
?ftp_home_dir-->on
?//setsebool使用-P參數,無需每次開機都輸入這個命令
? #setsebool-P ftp_home_dir 1
? #servicevsftpd restart
?<2>centos vsftpd 553 Could not createfile解決方法
? #setsebool-P allow_ftpd_full_access 1
? 命令執行需要一定時間,請耐心等待? 記得重啟vsftpd
---------------------
作者:御前兩把刀刀
來源:CSDN
原文:https://blog.csdn.net/wx5040257/article/details/78325074
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!