VSFTP安装配置总结

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
orm

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,即真正存在的用户)