linux下vsftpd服务器可以实现很多ftp服务器共有的性能,但其具有的虚拟用户功能却是搭建高性能ftp服务器的不二选择。下面以我的实际搭建过程呈现vsftp下虚拟用户的实施过程。
=============================================================================================
1.需要安装的包:vsftpd、db4、db4-utils
2.创建含有虚拟用户的用户名和密码的文件(文件中用户名和密码各占一行且不空格)
vi /etc/vsftpd/virtualuser
cat /etc/vsftpd/virtualuser
ftp1
123
ftp2
123
3.执行如下命令生成虚拟用户数据库:
db_load -T -t hash -f /etc/vsftpd/virtualuser /etc/vsftpd/virtualuserdb.db
4.创建用户认证数据文件
vi /etc/pam.d/vsftpd.vu
cat /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtualuserdb
account required pam_userdb.so db=/etc/vsftpd/virtualuserdb
【在CentOS6.4中,此处用sufficient代替required】
5.创建ftp虚拟用户对应的本地用户账户(禁止本地登录)
useradd -d /home/virtualftp -s /sbin/nologin ftpuser
6.创建各虚拟用户的主目录并更改属性
mkdir /home/virtualftp/ftp1
mkdir /home/virtualftp/ftp2
chown ftpuser.ftpuser /home/virtual/ftp1
chown ftpuser.ftpuser /home/virtual/ftp2
7.在vsftp.conf主配文件后加入如下内容:
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
pam_service_name=/etc/pam.d/vsftpd.vu
8.为每个虚拟用户创建一个同名的配置文件,内容如下:(这里就是为每个虚拟用户设置不同的属性)
vi /etc/vsftpd/vconf/ftp1
local_root=/home/virtualftp/ftp1 指定虚拟用户的具体主路径。
anonymous_enable=NO 设定不允许匿名用户访问。
write_enable=YES 设定允许写操作。
file_open_mode=0444 设置以只读权限打开文件
anon_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。
/etc/vsftpd/vconf/ftp2的配置与ftp1一致,可以在该文件中设置更多的访问控制权限。
9.重新启动vsftp服务
service vsftpd restart
10.客户端测试
在客户端登录该ftp服务器,使用ftp1/123或ftp2/123登录查看效果。
【提示:测试时,请注意你的iptables和selinux的策略配置】
阅读(474) | 评论(0) | 转发(0) |