vsftpd基于mysql的认证方式
-rwxr-xr-x 1 root root 42424 Aug 14 2011 /lib64/security/pam_mysql.so
配置数据库:
MariaDB [(none)]> create database vsftpd;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant select on vsftpd.* to 'vsftpd'@'localhost' identified by 'redhat';
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> grant select on vsftpd.* to 'vsftpd'@'127.0.0.1' identified by 'redhat';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
然后在该数据库创建表:
MariaDB [(none)]> use vsftpd
Database changed
MariaDB [vsftpd]> create table users(id int auto_increment not null,name char(20) binary not null,password char(48) binary not null,primary key(id));
Query OK, 0 rows affected (0.05 sec)
MariaDB [vsftpd]> insert into users(name,password) values ('admin',password('redhat'));
Query OK, 1 row affected (0.05 sec)
由于vsftpd和mysql服务都是在同一台主机上,所以相对来说授权的host范围小,当mysql和vsftpd不在同一台主机上时,
pam_mysql这个包还是和vsftpd上安装,这个时候该主机还得安装mysql客户端,远程的mysql服务器应该给予vsftpd这
台主机host访问的权限
配置完成mysql后然后配置pam认证信息:
[root@wadeson ~]# vim /etc/pam.d/vsftpd.mysql
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=redhat host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=redhat host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
然后修改vsftpd.conf配置文件的相关信息:
整个vsftpd.conf的配置内容:
anonymous_enable=NO
local_enable=YES
#write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_port=21
userlist_enable=YES
chroot_local_user=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftpuser (如果设置了这个,需要在系统上创建该用户)
pam_service_name=vsftpd.mysql
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_enable=yes
max_clients=200
max_per_ip=4
idle_session_timeout=600
ftpd_banner=Welcome to opendoc FTP service.
然后修改/etc/vsftpd/vsftpd_user_conf该目录下面虚拟账户的各自配置:(该目录如果没有需要进行创建)
[root@wadeson vsftpd_user_conf]# cat admin
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/var/ftproot
然后进行访问:
[root@wadeson vsftpd_user_conf]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 Welcome to opendoc FTP service.
Name (127.0.0.1:root): admin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,209,50).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 423612 Jun 23 07:06 2015_12.7z
drwxr-xr-x 2 501 501 4096 Jul 12 07:25 test
drwxr-xr-x 2 501 501 4096 Jul 12 12:38 test02
226 Directory send OK.
ftp> mkdir test03
257 "/test03" created
vsftpd基于mysql的认证方式的更多相关文章
- 修改CAS源码是的基于DB的认证方式配置更灵活
最近在做CAS配置的时候,遇到了数据源不提供密码等数据的情况下,怎样实现密码输入认证呢? 第一步:新建Java项目,根据假面算法生成CAS加密工具 出于保密需要不提供自定义的加密工具,在您的实际项目中 ...
- 【认证与授权】2、基于session的认证方式
这一篇将通过一个简单的web项目实现基于Session的认证授权方式,也是以往传统项目的做法. 先来复习一下流程 用户认证通过以后,在服务端生成用户相关的数据保存在当前会话(Session)中,发给客 ...
- 程序员过关斩将--更加优雅的Token认证方式JWT
菜菜,上次你讲的cookie和session认证方式,我这次面试果然遇到了 结果怎么样? 结果面试官问我还有没有更好的方式? 看来你又挂了 别说了,伤心呀.到底还有没有更好的方式呢? 你猜? 基于To ...
- Linux-SSH介绍与认证方式
Linux SSH 前言: 在实际的生产环境中,运维人员经常要使用本地的计算机对远程主机进行控制工作,TCP/IP协议提供了两种协议来完成这样的操作,分别为Telnet协议和SSH协议. 由于Teln ...
- Ubuntu下freeradius的EAP-MD5,PEAPv0/EAP-MSCHAPv2,EAP-TTLS/MD5,EAP-TTLS/MSCHAPv2方式认证(基于mysql)
基于freeradius+mysql,今天验证下freeradius的EAP认证:1.EAP-MD5:2.EAP-PEAP 一.EAP-MD5方式认证 1.修改配置文件 (1)/usr/local/e ...
- MySQL 8.0.14 新的密码认证方式和客户端链接
MySQL 8.0.14 新的密码认证方式和客户端链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MySQL8.0在密码认证方式发生了改变,这也是有点小伙伴在MySQL创建 ...
- Vsftpd: 基于PAM认证的虚拟用户和匿名用户
目录 环境说明效果说明及截图①. 安装组件②. 系统账户建立③. 编辑vsftpd的配置文件④. 生成虚拟用户的数据库文件⑤. 生成一个使用vsftpd_login.db数据文件的PAM认证文件⑥. ...
- 不在同一主机:vsftpd+pam+mysql
配置环境:Centos7上的mariadb + Centos6上的vsftpd 一.安装所需要程序 1.安装vsftpd和pam_mysql(在centos6-->192.168.108.160 ...
- 同一主机配置:vsftpd+pam+mysql
两种情况: 1.vsftpd和MySQL不在同一台主机上 vsftpd服务器和MySQL服务器不在同一台主机上时,vsftpd服务器需要安装pam_mysql. 在指定用户认证时,vsftpd需要链接 ...
随机推荐
- 【BZOJ2879】[Noi2012]美食节 动态加边网络流
[BZOJ2879][Noi2012]美食节 Description CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食 ...
- 《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器
原创文章,欢迎转载.转载请注明:关东升的博客 实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,示例代码如下: button.a ...
- 新浪博客:html+css+原生JS+Ajax初级+mySql数据库——源码
**************************************************************************************************** ...
- MSSQL移除字符串两边的指定字符
移除字符串左边的字符: CREATE FUNCTION [dbo].[RemoveLeftChar] ( @Expression varchar(max), @char varchar(4))RETU ...
- How TCP clients and servers communicate using the TCP sockets interface
wTCP客户端和服务器是如何通过TCP套接字接口进行通讯的.服务器距离.负载,网络拥堵. HTTP The Definitive Guide We begin with the web server ...
- 关于VFS文件系统中的superblock、inode、d_entry和file数据结构
- opencv 角点检测+相机标定+去畸变+重投影误差计算
https://blog.csdn.net/u010128736/article/details/52875137 https://blog.csdn.net/h532600610/article/d ...
- Git 使用vi或vim
1.vi & vim 有两种工作模式: (1) 命令模式:接受.执行 vi & vim 操作命令的模式,打开文件后的默认模式: (2) 编辑模式:对打开的文件内容进行 增.删.改 操作 ...
- Apache mahout 源码阅读笔记-DataModel之UserBaseRecommender
先来看一下使用流程: 1)拿到DataModel 2)定义相似度计算模型 PearsonCorrelationSimilarity 3)定义用户邻域计算模型 NearestNUserNeighborh ...
- Java设计模式-简单工厂模式(Static Factory Method)
简单工厂模式(Static Factory Method) 简单工厂模式是类的创建模式,又叫静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂对象决定创建出哪一种 ...