配置基于mysql的虚拟用户认证vsftp服务器

1.安装vsftp、mysql、epel_release(epel源,后面要安装的pam_mysql认证模块需要这个源)、pam_mysql

2.刚装的mysql运行一下/usr/bin/mysql_secure_installation

3.建立数据库vsftpd,建表user,

    create database vsftpd;

    use vsftpd;

    create users(id int auto_increment primary key,name char(20) binary,passwd char(41) binary);

4.插入两条测试用户数据

    insert into users(name,passwd) values(t1,password('t1'));

    insert into users(name,passwd) values(t2,password('t2'));

5.添加连接数据库的用户(vsftpd)以及密码(vsftpdp@ssword)

    grant select on vsftpd.* to 'vsftpd'@'127.0.0.1' identified by 'vsftpdp@ssword'; 

6.添加pam配置文件并修改vsftpd.conf

  在/etc/pam.d/下建立文件 vsftpd.mysql

 添加内容:

    auth required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 

    account required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2

修改vsftpd.conf添加 

    guest_enable=yes

    guest_username=vuser (虚拟用户映射到系统的vuser本地用户,我们需要等下在后面添加一下vuser本地用户)

    user_config_dir=/etc/vsftpd/vuser_conf/ (这个目录里面可以添加对应的虚拟用户名称的配置文件,可以给不同的虚拟用户配置不同的权限)

    pam_service_name=vsftpd.mysql

7.添加vuser本地用户

    useradd -s /sbin/nologin vuser -d /var/ftproot  (这个目录/var/ftproot可以自己定,最终你可以通过配置虚拟用户的配置文件,指定虚拟用户的根目录)

8.本例虚拟用户是t1、t2所以你需要在/etc/vsftpd/vuser_conf/这个目录下建立同名的t1 t2配置文件,具体配置根据实际需求而定。

调试配置的时候要注意文件夹权限。

原创文章,作者:duiduifei,如若转载,请注明出处:http://www.178linux.com/19123

赞 (0)
duiduifeiduiduifei
上一篇 2016-06-22 15:28
下一篇 2016-06-22 15:35

相关推荐

  • N21天天第十四周课程练习

    系统的INPUT和OUTPUT默认策略为DROP; #把默认策略设置为DROP [root@localhost ~]# iptables -P INPUT DROP [root@localhost ~]# iptables -P OUTPUT DROP 1、限…

    Linux干货 2016-12-05
  • linux命令简单应用

    创建/tmp目录下的:a_c, a_d, b_c, b_d touch /tmp/{a,b}_{c,d} [root@bogon ~]# tree /tmp /tmp |– a_c |– a_d |– b_c |– b_d 创建/tmp/mylinux目录下的: mylinux/ ├── bin ├── boo…

    Linux干货 2016-11-06
  • 游戏运维工程师

    爱乐盟互动为深圳市政府评定的深圳市重点文化企业,同时为广东省高科技产业商会常务理事单位,注册资金人民币1000万元。公司的原创大型MMORPG网游《王者传说2》为深圳市政府重点支持的网游项目,《王者传说2》将全面领先于国内的同类产品,成为业界新标准的重要网游产品!! 《王者传说2》已进入产品研发的重要阶段。除《王者传说2》,爱乐盟也已经启动了数款全新大型网游…

    Linux干货 2016-10-19
  • bash基础特性及用户与组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当做其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。 5、取出当前主机的I…

    2017-09-29
  • 第四周博客作业

    趁着这几天有时间,先把第四周的作业写了,好在没有什么新的知识点考核。  1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 […

    Linux干货 2016-12-21
  • shell位置变量解析

    什么是位置变量 在脚本代码中调用通过命令行传递给脚本的参数。 有哪些位置变量 $1,$2,…: 对应第1、第2等参数,shift [n]换位置 $0:命令本身 $*:传递给脚本的所有参数,全部参数合为一个字符串 $@:传递给脚本的所有参数,每个参数为独立字符串$#:传递给脚本的参数的个数    &nbsp…

    Linux干货 2016-08-15