vsftpd基于mysql_实现基于MYSQL验证的vsftpd虚拟用户

环境:

两台主机,一台ftp 服务器, 一台mysql server

mysql服务器:

yum源

[root@localhost ~]#vim /etc/yum.repos.d/mariadb.repo

[mariadb]

name = MariaDB

baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64/

gpgcheck=0

安装与数据库建立表

[root@localhost ~]# yum clean all

[root@localhost ~]# yum install -y mariadb mariadb-server

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# mysql

MariaDB [(none)]> use vsftpd

Database changed

MariaDB [vsftpd]> create table vuser (id int auto_increment primary key,username char(30),password char(50) binary);

Query OK, 0 rows affected (0.05 sec)

MariaDB [vsftpd]> insert vuser(username,password)values('ftp1',password('centos')),('ftp2',password('magedu'));

Query OK, 2 rows affected (0.00 sec)

Records: 2 Duplicates: 0 Warnings: 0

MariaDB [vsftpd]> grant select on vsftpd.vuser to vsftpd@'192.168.64.%' identified by 'centos';

Query OK, 0 rows affected (0.01 sec)

0a8da7e283c83fa61279839c7417fd49.png

ftp服务器:

1编译安装pam_mysql.so

[root@localhost ~]# yum install gcc gcc-c++ pam-devel mariadb-devel

[root@localhost ~]# tar xf pam_mysql-0.7RC1.tar.gz

[root@localhost ~/pam_mysql-0.7RC1]# cd pam_mysql-0.7RC1/

[root@localhost ~/pam_mysql-0.7RC1]# ./configure --with-pam-mods-dir=/lib64/security

[root@localhost ~/pam_mysql-0.7RC1]#echo $?

0

[root@localhost ~/pam_mysql-0.7RC1]# make && make install

[root@localhost ~/pam_mysql-0.7RC1]#echo $?

0

2 创建pam配置文件

[root@localhost ~]# vim /etc/pam.d/vsftpd.mysql

auth required pam_mysql.so user=vsftpd passwd=centos host=192.168.36.17 db=vsftpd table=vuser usercolumn=username passwdcolumn=password crypt=2

account required pam_mysql.so user=vsftpd passwd=centos host=192.168.36.17 db=vsftpd table=vuser usercolumn=username passwdcolumn=password crypt=2

3 修改vsftpd配置,调用pam配置

[root@localhost ~]# yum install vsftpd

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd.mysql 修改此行

加下面三行

guest_enable=YES

guest_username=vuser

user_config_dir=/etc/vsftpd/vusers.d/

[root@localhost ~]# mkdir /etc/vsftpd/vusers.d/

4 创建系统用户

useradd -r -s /sbin/nologin -d /data/ftproot vuser

mkdir /data/ftproot

5 各个虚拟用户不同的ftp配置

[root@localhost ~]# vim /etc/vsftpd/vusers.d/ftp1

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/data/ftp1

vim /etc/vsftpd/vusers.d/ftp2

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/data/ftp2

[root@localhost ~]# mkdir /data/ftp{1,2} -pv

6禁止匿名用户登录

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

7测试

b16ea52b77b466f535ec255f81430f7b.png

0d4b3359fb668fcb225714f1905ef16b.png

800f077e53695991555b4435eada5fca.png

dbf5f2647636a591071ed601ce106169.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值