Centos7搭建vsftp並配置虛擬用戶,實現多用戶多權限


一、安裝ftp服務
yum install -y vsftp
# 安裝虛擬用戶數據庫
yum -y install libdb-utils
二、增加一個系統用戶‘virftp’ ,所有虛擬用戶都會映射到此用戶后對文件系統進行讀寫操作
#添加用戶,用戶登錄時使用nologin
useradd -s /sbin/nologin virftp
#設置用戶密碼
passwd virftp
三、配置vsftp主配置文件
#備份vsftpd主配置文件
cp /etc/vsftpd/vsftpd.conf{,.bak}
#查看過濾配置文件注釋后內容
grep -v "#" /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf

#禁止匿名用戶登錄
anonymous_enable=NO
#允許本地用戶登錄
local_enable=YES
#啟用虛擬賬戶 
guest_enable=YES
#把虛擬賬戶映射到系統賬戶virftp              
guest_username=virftp
#使用虛擬用戶驗證(PAM驗證)
pam_service_name=vsftpd
#設置存放各虛擬用戶配置文件的目錄(此目錄下與虛擬用戶名相同的文件為它的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#啟用chroot時,虛擬用戶根目錄允許寫入
allow_writeable_chroot=YES
#被動模式,文件傳輸端口的最大最小范圍 pasv_min_port=30000 pasv_max_port=35000
 
四、配置vsftpd pam驗證文件
#備份
cp /etc/pam.d/vsftpd{,.bak}
#將auth及account的所有配置行均注釋掉,再添加如下兩行
vim /etc/pam.d/vsftpd
auth       required     pam_userdb.so   db=/etc/vsftpd/vir_user          
account    required     pam_userdb.so   db=/etc/vsftpd/vir_user
 
五、配置虛擬用戶訪問vsftpd服務
#創建虛擬用戶密碼文件(奇數行為帳號,偶數行為密碼)
vim /etc/vsftpd/vir_user
test01
pwd_test01
test02
pwd_test02
六、配置虛擬用戶各自的配置文件
#創建‘虛擬用戶配置文件’的存放目錄
mkdir /etc/vsftpd/vsftpd_viruser/

#創建和配置虛擬用戶各自的配置文件(文件名稱是‘虛擬用戶名’)
vim /etc/vsftpd/vsftpd_viruser/test01

# 允許寫入
write_enable=YES
#允許瀏覽FTP目錄和下載
anon_world_readable_only=NO
#禁止用戶下載
#download_enable=NO
# 允許虛擬用戶上傳文件
anon_upload_enable=YES
# 允許虛擬用戶創建目錄
anon_mkdir_write_enable=YES
# 允許虛擬用戶執行其他操作(如改名、刪除)
anon_other_write_enable=YES
# 上傳文件的掩碼,如022時,上傳目錄權限為755,文件權限為644
anon_umask=022
# 指定虛擬用戶的虛擬目錄(虛擬用戶登錄后的主目錄,即登錄ftp后訪問的根目錄)
local_root=/home/virftp/test01
七、生成虛擬用戶數據庫
db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
chmod 700 /etc/vsftpd/vir_user.db
八、創建虛擬用戶的根目錄,要保證虛擬用戶映射的系統用戶,對這個根目錄有讀寫權限
#創建虛擬用戶對應根目錄
mkdir -p /home/virftp/test01
#修改目錄權限
chown -R virftp.virftp /home/virftp/test01
九、重啟服務
systemctl restart vsftpd
#開放端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-35000/tcp --permanent
firewall-cmd --reload
注:若添加新虛擬用戶,創建用戶對應根目錄文件夾、在/etc/vsftpd/vsftpd_viruser/目錄下創建用戶名為文件名的配置文件,/etc/vsftpd/vir_user文件中添加帳號密碼
#再執行
db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
#重啟服務
systemctl restart vsftpd

 

 

#被動模式,文件傳輸端口的最大最小范圍pasv_min_port=30000pasv_max_port=35000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM