搭建過程shell
1 安裝環境數據庫
yum install vsftp* pam* db4* -y
vim
cat /etc/vsftpd/vsftpd.confsession
anonymous_enable=NOapp
chroot_list_enable=YEStcp
xferlog_file=/var/log/vsftpd.logide
ascii_upload_enable=YESui
ascii_download_enable=YES加密
nopriv_user=vsftpdspa
pam_service_name=vsftpd
local_enable=YES
anon_umask=022
write_enable=YES
guest_enable=YES
guest_username=vsftpd
virtual_use_local_privs=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vuser_conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot
2 建立祕鑰文檔
cd /etc/vsftpd/
cat vuser_passwd.txt
user
123456
3 生成數據庫文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
chmod 600 vuser_passwd.db
4 修改vsftp的pam認證配置文件
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd
#%PAM-1.0
#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 system-auth
#account include system-auth
#session include system-auth
#session required pam_loginuid.so
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
5 建立虛擬用戶配置文件
mkdir /etc/vsftpd/vuser_conf 根據vsftpd.conf下user_config_dir=/etc/vsftpd/vuser_conf建立
vim user
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
local_root=/opt/var/ftp
mkdir /opt/var/ftp -pv
6 vi chroot
user
7/etc/init.d/vsftpd restart
useradd vsftpd -s /sbin/nologin 根據配置文件裏 guest_username=vsftpd 建立
注意全部的用戶文件必需要給600權限
若是添加一個用戶的話流程以下
在/etc/vsftpd/vuser_passwd.txt文件下追加用戶名和追加密碼
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt/etc/vsftpd/vuser_passwd.db
cd /opt/var/ftp/
mkdir linyi
cd linyi
mkdir ftp
vi /etc/vsftpd/vuser_conf/linyi
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
local_root=/opt/var/ftp/linyi
vim /etc/vsftpd/chroot 添加用戶名
mount --bind 要掛載的目錄 ftp用戶的目錄
service vsftpd restart