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
账户访问测试