FTP匿名用户,本地用户,虚拟用户的搭建与详解
1、  ftp分为虚拟用户,本地用户,匿名用户三种模式,其中匿名ftp配置常用配置项 :
anonymous_enable=YES   #启用匿名访问
anon_umask=022  #匿名用户所上传文件的权限掩码
anon_root=/var/ftp  #匿名用户的FTP根目录
anon_upload_enable=YES  #允许上传文件
anon_mkdir_write_enable=YES  #允许创建目录
anon_other_write_enable=YES  #开放其他写入权
anon_max_rate=0  #限制最大传输速率,单位为字节
2、  本地ftp配置常用配置项 :
local_enable=YES  #是否启用本地系统用户
local_umask=022  #本地用户所上传文件的权限掩码
local_root=/var/ftp  #设置本地用户的FTP根目录
chroot_local_user=YES  #是否将用户禁锢在主目录
local_max_rate=0  #限制最大传输速率(字节 / 秒)
3、  下面讲解虚拟用户的配置,可以分为以下步骤:
1.  建立虚拟 FTP 用户的帐号数据库文件
[root@f tp  ~]# vi /etc/vsftpd/vusers.list
Xiaoxue   #用户名
123    #密码
Tyfg   #用户名
456    #密码
[root@ftp ~]# cd /etc/vsftpd/
[root@ftp vsftpd]# db_load -T -t hash -f vusers.list   vusers.db
[root@ftp vsftpd]# chmod 600 /etc/vsftpd/vusers.*
2.  创建 FTP 根目录及虚拟用户映射的系统用户
root@ftp ~]# mkdir /var/ftproot
[root@ftp ~]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@ftp ~]# chmod 755 /var/ftproot/   # 设置该帐号宿主目录的权限
3.  建立支持虚拟用户的 PAM 认证文件
[root@ftp ~]# vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth       required       /lib/security/ pam_userdb.so db=/etc/vsftpd/vusers    #对应第一步建立的vuser.db 文件
account    required       /lib/security/ pam_userdb.so db=/etc/vsftpd/vusers
在centos 64位系统中 lib替换成lib64
4.  在 vsftpd.conf 文件中添加支持配置
[root@ftp ~]# vi  /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
async_abor_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.usr_list

listen=YES

tcp_wrappers=YES
userlist_enable=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vusers_dir

userlist_enable=YES
5.  为虚拟用户建立独立的配置文件
在 vsftpd.conf 文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir 
为用户 xiaoxue 、 tyfg 建立独立的配置目录及文件
  配置文件名与用户名同名
[root@ftp ~]# mkdir /etc/vsftpd/vusers_dir/
[root@ftp ~]# cd /etc/vsftpd/vusers_dir/
[root@ftp vusers_dir]# touch xiaoxue
[root@ftp vusers_dir]# vi tyfg
local_root=/var/ftproot/thundersoft 该用户的宿主目录
write_enable=YES
download_enable=YES
anon_world_readable_only=NO    用户可以浏览FTP目录和下载文件
anon_upload_enable=YES         用户可以上传文件
anon_mkdir_write_enable=YES     用户具有建立和删除目录的权限
anon_other_write_enable=YES    用户具有文件改名和删除文件的权限
 
新建 /etc/vsftpd/vsftpd.usr_list文件,在改文件中添加
虚拟的用户名,在本案例中是xiaoxue ,tyfg
 
6.  重新加载 vsftpd 配置
service vsftpd reload
7.  使用虚拟 FTP 账户访问测试