開始搭建
1.檢查服務器環境(是否安裝vsftpd服務並關閉防火牆和禁用selinux服務)
rpm -qa vsftpd && yum remove vsftpd
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld
2.安裝vsftpd和db數據庫
yum install vsftpd-* pam* libdb-utils libdb* -y
3.創建虛擬用戶和賬戶密碼
- 1)創建虛擬用戶
useradd -s /sbin/nologin ftpuser
cd /home/ftpuser && mkdir test1 test2 && chown ftpuser.ftpuser -R test*
- 2)創建賬戶和密碼文件
vim /etc/vsftpd/use_and_password
test1
123
test2
123
- 3)創建數據庫文件並設置權限
db_load -T -t hash -f /etc/vsftpd/user_and_password /etc/vsftpd/vsftpd_login.db
chmod 700 vsftpd_login.db
4.PAM模塊進行身份認證,編輯/etc/pam.d/vsftpd和/etc/vsftpd/vsfptd.conf配置文件
- 1)PAM配置文件添加二行參數配置
#%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
- 2)vsftpd.conf配置文件添加參數
anonymous_enable=NO
local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES
listen=YES userlist_enable=YES #######################配置虛擬用戶參數################# guest_enable=YES guest_username=ftpuser ##ftpuser為創建的虛擬用戶 user_config_dir=/etc/vsftpd/vsftpd_user_conf virtual_use_local_privs=YES
pam_service_name=vsftpd
5.為每個vsftpd虛擬賬戶創建配置文件
- 1)創建保存配置文件的目錄
mkdir -p /etc/vsftpd/vsftpd_user_conf cd /etc/vsftpd/vsftpd_user_conf
touch test1 test2
vim test1
local_root=/home/ftpuser/test1
write_enable=YES
anon_world_readable_only=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
6.設置鎖定訪問目錄權限
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES userlist_enable=YES guest_enable=YES guest_username=ftpuser pam_service_name=vsftpd user_config_dir=/etc/vsftpd/vsftpd_conf virtual_use_local_privs=YES ###########設置鎖定訪問目錄權限###### local_root=/home/ftpuser chroot_list_enable=YES chroot_list_file=/etc/vsftpd/user_and_password allow_writeable_chroot=YES
7.開啟vsftpd服務
systemctl start vsfptd
搭建完畢。