搭建過程
1 安裝環境
yum install vsftp* pam* db4* -y
cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot_list_enable=YES
xferlog_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
nopriv_user=vsftpd
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