Vsftp viruser 本地txt转db配置
-
安装ftp
[root@localhost ~]# yum –y install vsftpd建立虚拟FTP用户的帐号数据库
[root@localhost vsftpd]# vim /etc/vsftpd/vusers.list
zmj_cd
12345
jiajia
1234
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash -f vusers.list vusers.db
[root@localhost vsftpd]# file vusers.db
vusers.db: Berkeley DB (Hash, version 9, native byte-order)
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vusers.*
-
创建FTP根目录及虚拟用户映射的系统用户
[root@localhost vsftpd]# mkdir /var/ftproot
[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virftp
[root@localhost vsftpd]# chmod 755 /var/ftproot/
[root@localhost vsftpd]# chown virftp:virftp /var/ftproot/
[root@localhost vsftpd]# chmod o+r /var/ftproot/ -R
-
建立支持虚拟用户的PAM认证文件
[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
-
在vsftpd.conf文件中添加支持配置
[root@localhost vsftpd]# cp /etc/vsftpd/vsftpd.conf{,.bak} -av
`/etc/vsftpd/vsftpd.conf’ -> `/etc/vsftpd/vsftpd.conf.bak’
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
pam_service_name=vsftpd.vu
guest_enable=YES
guest_username=virftp
-
为个别虚拟用户建立独立的配置文件
-
vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
-
创建所需要目录,并为虚拟用户提供配置文件
[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir/ -pv
mkdir: created directory `/etc/vsftpd/vusers_dir/’
[root@localhost ~]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# touch zmj_cd jiajia
-
配置虚拟用户的访问权限
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让jiajia用户具有上传文件的权限,可以修改/etc/vsftpd/vusers/jiajia文件,在里面添加如下选项即可。
[root@localhost vusers_dir]# vim jiajia
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
-
-
重新加载vsftpd配置
[root@localhost vusers_dir]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
-
使用虚拟FTP账户访问测试
分别用zmj_cd、jiajia用户登录FTP服务器进行下载、上传测试
Zmj_cd用户可以登录,并可以浏览、下载文件,但无法上传
gentoo用户可以登录,并可以浏览、下载文件,也可以上传,可以创建文件夹,删除文件
匿名用户或其他系统用户将不能登录