制作虚拟用户数据库文件
1.先建立虚拟用户名单文件:[root@KcentOS5 ~]# touch /etc/vsftpd/virtusers建立了一个虚拟用户名单文件,这个文件就是来记录CentOS vsftpd虚拟用户的用户名和口令的数据文件,我这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在/etc/vsftpd/下。
2.编辑虚拟用户名单文件:
- [root@KcentOS5 ~]# vi /etc/vsftpd/virtusers
- download
- 1234
- upload
- 5678
- admin
- 9012
CentOS vsftpd编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。
3.生成虚拟用户数据文件:
[root@KcentOS5 ~]# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db设定PAM验证文件,并指定虚拟用户数据库文件进行读取在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)
- auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
- account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
虚拟用户的配置
local_root=/var/www/html指定虚拟用户的具体主路径。
anonymous_enable=NO设定不允许匿名用户访问。
write_enable=YES设定允许写操作。
local_umask=022设定上传文件权限掩码。
anon_upload_enable=NO设定不允许匿名用户上传。
anon_mkdir_write_enable=NO设定不允许匿名用户建立目录。
idle_session_timeout=600设定空闲连接超时时间。
data_connection_timeout=120设定单次连续传输最大时间。
max_clients=10设定并发客户端访问个数。
max_per_ip=5设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件。
local_max_rate=50000设定该用户的最大传输速率,单位b/s。
这里将原CentOS vsftpd.conf配置文件经过简化后保存作为虚拟用户配置文件的模版。这里将并不需要指定太多的配置内容,主要的框架和限制交由CentOS vsftpd的主配置文件CentOS vsftpd.conf来定义,即虚拟用户配置文件当中没有提到的配置项目将参考主配置文件中的设定。
而在这里作为虚拟用户的配置文件模版只需要留一些和用户流量控制,访问方式控制的配置项目就可以了。这里的关键项是local_root这个配置,用来指定这个虚拟用户的FTP主路径。
[b][color=Red]这里有一个最主要的问题,就是目录的宿主和宿主用户不是虚拟用户,我们设置了目录后还只能下载,不能上传和下载,如果想上传就要使用chown的命令chmod o+w /var/www/html/ o是指其它的用户,w是写的权限[/[/color]b]
【编辑推荐】