搭建vsftpd(本地使用者和虛擬使用者可以同時存在)
1關閉iptables,selinux
2安裝vsftpd
# yum install vsftpd -y
3建立虛擬使用者檔案
# vim /etc/vsftpd/vusers.txt
one
redhat
two
redhat
three
4使用db_load工具生成資料庫.db檔案(db_load工具由db4-utils包提供)
# db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
# chmod 700 /etc/vsftpd/vusers.*
5生成pam認證檔案並修改虛擬使用者路徑
1)只能使用虛擬使用者
#cp/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vusers.pam
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vusers(不能寫vusers.db否則不識別)
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vusers
2)使用虛擬使用者或者本地使用者
cp /etc/pam.d/vsftpd /etc/pam.d/vusers.pam
#%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vusers
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vusers
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
6建立虛擬使用者對映的本地系統使用者virtual並修改其許可權
# useradd -s /sbin/nologin virtual
# ls -ldh /home/virtual/
drwx------. 4 virtual virtual 1.0K 4月 2 17:04 /home/virtual/
# chmod 755 /home/virtual/
7修改vsftpd主配置檔案
local_enable=YES //啟用本地使用者即啟用虛擬使用者對映的系統使用者virtual
guest_enable=yes //啟用虛擬使用者
guest_username=virtual //指定虛擬使用者對應的系統使用者
pam_service_name=vusers.pam //指定pam認證檔案
8為不同的虛擬使用者建立獨立的配置檔案
1)建立存放配置檔案的資料夾並寫入vsftpd主配置檔案
# vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
# mkdir /etc/vsftpd/vusers_dir
2)建立one使用者的配置檔案並設定許可權
[[email protected] /etc/vsftpd/vusers_dir]
# vim one
anon_upload_enable=yes
anon_other_write_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022
[[email protected] /home/virtual]
3)為one使用者建立宿主目錄並修改許可權
# mkdir /home/virtual/one
[[email protected] /home/virtual]
# chown virtual /home/virtual/one/
4)建立two使用者的配置檔案
# touch two
9啟動vsftpd服務
# /etc/init.d/vsftpd start
為 vsftpd 啟動 vsftpd: [確定]
10測試