vsftpd设置虚拟用户

软件安装:linux

vsftpd vim

db4-utils (用于虚拟用户密码加密)tomcat

1.     添加虚拟用户口令文件bash

vim /etc/vsftpd/vftp_vuser
test 
test123456
#用户名和密码各占一行

2.     生成虚拟用户口令认证文件(生成db文件)session

db_load-T -t hash -f /etc/vsftpd/vftp_vuser /etc/vsftpd/vftp_vuser.db

3.     编辑vsftpdPAM认证文件vsftp默认PAM认证文件为/etc/pam.d/vsftpapp

#新建PAM认证文件
vim /etc/pam.d/ftp   
auth       required/lib64/security/pam_userdb.so  db=/etc/vsftpd/vftp_vuser
account    required /lib64/security/pam_userdb.so   db=/etc/vsftpd/vftp_vuser

4.     创建本地映射用户并设置宿主目录权限tcp

本地映射用户为www,目录权限为700(linux系统用户,test虚拟用户登录后映射为www用户)ide

5.     配置vsftpd.conf(设置虚拟用户配置项)ui

sudo grep -v "^#" vsftpd.conf
#禁止匿名用户登陆
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=600
chroot_local_user=YES
listen=YES

#主动式链接使用的数据通道
connect_from_port_20=YES
#支持数据流的被动式链接模式,设置是否容许pasv模式(即被动模式)
pasv_enable=NO

#vsftpd的pam认证文件
pam_service_name=ftp

#开启userlist,只容许userlist_file中指定的用户登陆
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

tcp_wrappers=YES
local_root=/data/www/tomcat1
#虚拟用户test专用配置文件
user_config_dir=/etc/vsftpd/virtual_conf

6.test用户专用配置文件加密

#文件名要跟用户名一致
vim /etc/vsftpd/virtual_conf/test
guest_enable=yes
guest_username=www
local_root=/data/htdocs/
anon_world_readable_only=no    #能够浏览和下载(yes 只读权限)
write_enable=yes               #能够上传(全局控制)
anon_mkdir_write_enable=yes    #容许建立目录
anon_other_write_enable=yes    #容许删除
anon_upload_enable=yes        #容许上传

7.     重启vsftpd服务

service vsftpd restart