1、首先,查看是否安裝vsftpd linux
沒有,則安裝ide
yum -y install vsftpd工具
2、創建虛擬用戶登錄管理ftpui
vsftpd的用戶分3種,都是能夠登錄ftp的,一個是匿名用戶,一個是本地用戶和一個是虛擬用戶。當咱們要開放用戶管理的時候,推薦使用虛擬用戶。spa
(1)首先,看看vsftpd中咱們須要做出怎樣的配rest
Vi /etc/vsftpd/vsftpd.conf日誌
爲了支持虛擬用戶的配置,在vsftpd.conf中咱們須要更改如下配置項:ci
anonymous_enable=NO 設定不容許匿名訪問
local_enable=YES 設定本地用戶能夠訪問。
chroot_list_enable=YES 使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log 設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必需要手動touch出來
ascii_upload_enable=YES
ascii_download_enable=YES 設定支持ASCII模式的上傳和下載功能。
pam_service_name=vsftpd PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證權限控制
guest_enable=YES 設定啓用虛擬用戶功能。
guest_username=ftp 指定虛擬用戶的宿主用戶。-默認已經有內置的ftp用戶了(可換成其餘本地帳號)
user_config_dir=/etc/vsftpd/vuser_conf 設定虛擬用戶我的vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)hash
建立chroot list,將用戶ftp加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
(2)進行認證:
首先,建立用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
命令:vi /etc/vsftpd/vuser_passwd.txt
其中wenan是高級帳號,wenan_m是中級,wenan_l是低級,其他部門相似。
接着,.生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
若是沒安裝Berkeley DB工具,運行命令安裝
隨後,編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句
再增長如下兩句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,建立虛擬用戶個性FTP服務文件(以wenan高級帳號爲例)
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/wenan(注:文件名等於vuser_passwd.txt裏面的帳戶名,不然下面設置無效)
內容以下:
local_root=/var/www/wenan 虛擬用戶(文案部門對應)的根目錄
write_enable=YES 可寫
anon_umask=022 掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
以上是高級帳號的配置,其餘權限根據須要可自行修改
------------------------------------------------------------------------------------------------
(3)Ps用戶權限控制的一些配置
當virtual_use_local_privs=YES時,虛擬用戶和本地用戶有相同的權限;
當virtual_use_local_privs=NO時,虛擬用戶和匿名用戶有相同的權限,默認是NO。
當virtual_use_local_privs=YES,write_enable=YES時,虛擬用戶具備寫權限(上傳、下載、刪除、重命名)。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES時,虛擬用戶不能瀏覽目錄,只能上傳文件,無其餘權限。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO時,虛擬用戶只能下載文件,無其餘權限。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES時,虛擬用戶只能上傳和下載文件,無其餘權限。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES時,虛擬用戶只能下載文件和建立文件夾,無其餘權限。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES時,虛擬用戶只能下載、刪除和重命名文件,無其餘權限。
3、啓動vsftp
service vsftpd start 開啓命令
service vsftpd restart 重啓
service vsftpd stop 中止
(注意,啓動前記得關門selinux或者解除selinux阻止)
解除selinux阻止
setsebool -P ftpd_disable_trans 1
查看selinux狀態
/usr/sbin/sestatus -v
關閉SELinux:
一、臨時關閉(不用重啓機器):
setenforce 0 ##設置SELinux 成爲permissive模式
##setenforce 1 設置SELinux 成爲enforcing模式
二、修改配置文件須要重啓機器:
修改/etc/selinux/config 文件
將SELINUX=enforcing改成SELINUX=disabled
最後,訪問成功