Vsftpd虚拟用户设置

来自Ubuntu中文
跳到导航跳到搜索

目标

首先我们假定你已经安装了vsftpd,并在/home/ftp目录下建立了以下两个子目录

  • dbzh1
  • dbzh2

下面,我们要建3个虚拟用户,密码分别是用户名后加"00"

  • db1
  • db2
  • db3

使得

  • 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限
  • 用户db2 的主目录为 dbzh2,在该目录下只有只读权限
  • 用户db3的主目录为 dbzh1 ,在该目录下拥有所有权限

创建虚拟用户数据库

创建文本文件loguser.txt

格式如下:

user_id
password

于是,我们loguser.txt文件的内容为

db1
db100
db2
db200
db3
db300

生成数据库

如果你以前没装过libdb3-util,也不要紧,执行下面的命令就好了

sudo apt-get  install  libdb3-util

然后,我们执行

sudo db3_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
  

最后设置一下数据库文件的访问权限

sudo chmod 600 /etc/vsftpd_login.db

配置PAM文件

新建/etc/pam.d/vsftpd.vu 内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

为虚拟用户创建本地系统用户

sudo useradd -d /home/ftp
sudo chown virtual.virtual /home/ftp