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@ftp ~]# 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 
为用户xiaoxuetyfg建立独立的配置目录及文件
  配置文件名与用户名同名
[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账户访问测试