1. 程式人生 > 其它 >CentOS7 vsftp 配置虛擬使用者

CentOS7 vsftp 配置虛擬使用者

1、安裝

yum install vsftpd db4-utils

2、備份配置檔案

cd /etc/vsftpd/
cp vsftpd.conf vsftpd.src.conf

3、修改配置檔案如下

vim vsftpd.conf
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user
=YES guest_enable=yes guest_username=vsftpd user_config_dir=/etc/vsftpd/vsftpd_user_conf pam_service_name=vsftpd local_enable=YES pasv_enable=YES pasv_min_port=5090 pasv_max_port=6000

4、建立虛擬使用者賬戶檔案

vim /etc/vsftpd/userfile
user1
123456
user2
123456

5、根據虛擬使用者賬戶檔案生成虛擬使用者配置檔案vsftpd_login.db

db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db

6、配置虛擬使用者登入認證,註釋掉全部內容,新增下面的兩行,最終效果如下:

vim /etc/pam.d/vsftpd
#%PAM-1.0
auth        sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account     sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item
=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so #auth include password-auth #account include password-auth #session required pam_loginuid.so #session include password-auth

7、限制虛擬使用者切換主目錄

vim /etc/vsftpd/chroot_list
user1
user2

8、建立配置檔案目錄

mkdir /etc/vsftpd/vsftpd_user_conf

9、按使用者名稱為每個使用者寫配置內容

僅下載許可權

vim /etc/vsftpd/vsftpd_user_conf/user1
anon_world_readable_only=NO    
local_root=/home/vsftpd/user1

上傳、下載許可權,不能刪除、不能重新命名

anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/home/vsftpd/user1

全部許可權:可上傳、下載、刪除和改名

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vsftpd/user1

10、建立vsftpd使用者(與vsftpd.conf 檔案中的:guest_username=vsftpd 一致)

useradd -d /home/vsftpd -s /sbin/nologin vsftpd
chown -R vsftpd:vsftpd /home/vsftpd

11、重啟vsftpd服務

systemctl vsftpd restart.service

注意:建議使用filezilla等工具進行登入,如果出現問題,有明確的問題提示。