1、vsftpd虚拟用户配置apache
一、安装vsftpd (rpm包或者用yum安装)bash
yum install vsftpd
二、在/etc/vsftpd/下建立vuser.txt文件,在里面填写用户名和帐号,第一行帐号,第二行密码,依次类推。
服务器
三、创建访问者的口令库文件,而后修改其权限app
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
(若是系统提示找不到db_load命令,则需先安装tcp
yum –y install db4
(pam*是否需安装没通过测试)ide
四、进入/etc/pam.d/中建立vsftpd,在其中添加以下信息而且将其他的信息注释测试
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser #32位系统是/lib/目录 account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser #32位系统是/lib/目录
五、建立虚拟用户映射的系统帐号ui
#useradd –d /home/vsftpd –s /sbin/nologin vuserftp #建立系统帐号,但使之不能登陆系统 #chmod 700 /home/vsftpd
六、先备份/etc/vsftpd/vsftpd.conf文件,而后清空内容并添加以下信息:spa
经常使用配置文件 listen=YES listen_port=58745 anonymous_enable=NO local_enable=YES local_umask=022 guest_enable=YES guest_username=vuserftp pam_service_name=vsftpd user_config_dir=/etc/vsftpd/vuser_conf virtual_use_local_privs=YES write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES chroot_local_user=YES userlist_enable=YES tcp_wrappers=YES |
参考配置文件 listen=yes listen_port=21 #port_enable=yes #connect_from_port_20=yes pasv_enable=yes #使用被动传输 pasv_min_port=52000 #指定被动模式端口范围 pasv_max_port=52020 local_enable=YES #使系统帐号能登陆 write_enable=YES #可写 #anon_root=/var/ftp/vuser #local_root=/ #local_umask=022 userlist_enable=yes userlist_deny=yes userlist_file=/etc/vsftpd/user_list max_clients=20 #链接ftp的最大客户端 max_per_ip=20 #最多20个IP能链接ftp
guest_enable=yes #启用虚拟用户 guest_username=vuser #虚拟用户映射到的系统帐号 pam_service_name=vsftpd.vuser #PAM认证文件 user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户配置文件存放目录 |
七、建立虚拟用户配置文件存放目录
mkdir /etc/vsftpd/vuser_conf
八、进入/etc/vsftpd/vuser_conf目录,建立与虚拟用户名相同名称的文件(虚拟用户名即vuser.txt中的用户名名,文件名必须和虚拟用户用户名一致),好比建立demo
九、在demo中填写以下信息(红色为对匿名用户的设置)
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/usr/local/amp/apache/htdocs/demo #此路径根据虚拟用户要访问的目录对应修改
总结:客户端根据建立的虚拟用户链接服务器,虚拟用户映射到系统帐号vuser登陆ftp,而后FTP根据配置文件vsftpd.conf的设置(user_config_dir=/etc/vsftpd/vuser_conf)找到虚拟用户配置文件的存放目录,而后根据虚拟用户的配置文件指定的目录路径(local_root=/usr/local/amp/apache/htdocs/demo)访问到指定的目录。(注:虚拟用户访问到的文件根目录属主须要改为vuserftp,即真正存在的用户)