vsftpd虚拟用户

转自 http://kindit.blog.51cto.com/2286921/1217428

 

使用vsftpd虚拟用户可以将权限限制在每个用户的根目录里,这样解决了匿名用户不能正对每个人进行权限控制的缺点,也避免了使用本地用户而产生的安全性问题。

 一、 安装rpm包

vsftpd-2.2.2-6.el6_0.1.i686   

db4-4.7.25-17.el6.i686

db4-utils-4.7.25-17.el6.i686

二、创建用户数据库

1. 创建临时用户文件 /etc/vsftpd/ftp_pam_db.users, 内容格式如下:

1
2
3
4
用户1
用户1的密码
用户2
用户2的密码

2.  用db_load命令生成pam_userdb认证所需要的账号文件

1
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/ftp_pam_d                                                                     b.users /etc/vsftpd/vsftpd.login.db


3.  配置PAM信息

   在/etc/pam.d下新建一个文件vsftpd.pam,内容如下

1
2
auth required pam_userdb.so db=/etc/vsftpd/vsftpd.login
account  required pam_userdb.so db=/etc/vsftpd/vsftpd.login

    vsftpd.login文件名后请不要加.db扩展名

4.  配置vsftpd账号

   vsftpd服务器允许在启动时指定配置文件,创建一个用于启动vsftpd服务的配置文件/etc/vsftpd/vsftpd.virtual.conf 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
listen=YES      允许监听,由vsftpd自己监听和处理IPv4端口的连接请求
listen_port=21   通过21端口监听
anonymous_enable=NO   不允许匿名用户访问
local_enable=YES       允许本地用户访问
chroot_local_user=YES      限制本地用户在自己的家目录中
guest_enable=YES           允许虚拟用户
guest_username=ftp         虚拟用户映射到本地用户“ftp”
max_clients=100            最多允许同时连接100个客户端
max_per_ip=10              每个IP最大连接数为10
pam_service_name=vsftpd.pam      指定PAM配置文件名
user_sub_token=$USER       自动进入虚拟用户名对应的家目录  
local_root=/var/ftp/virtual/$USER   指定每个虚拟用户账户家目录
#local_root=/var/ftp        指定默认的FTP目录,若启用上一条配置将无效    
xferlog_enable=YES          允许系统自动维护上传和下载的日志文件 
xferlog_file=/var/log/vsftpd.log   指定日志文件
xferlog_std_format=YES       传输日志文件将以标准xferlog格式书写

5.   根据以上配置创建虚拟用户家目录

6.   应用创建的配置文件启动vsftpd服务,若已经启动可先停止运行。

1
/usr/sbin/vsftpd  /etc/vsftpd/vsftpd.virtual.conf


7.  在客户端上登录测试


 

你可能感兴趣的:(vsftpd)