VSFTPD+MYSQL+PAM
1. vsftpd:
2.MySQL
3.pam_mysql
4.pam-devel
5.openssl
6.tcp-wrappers
二 软件安装:
1.Openssl
使用yum -y install openssl
2.MySQL
使用yum–y install mysql
3.pam_mysql
下载地址:http://colocrossing.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz
使用./configure–with-openssl 使用支持MD5加密算法
如果是使用源代码编译的mysql,还需要加./configure--with-mysql=/usr/local/mysql的安装路径
这个软件主要用途是使用pam模块对Mysql进行认证。在配置Pam文件的时候需要用到pam_mysql.so。源码编译完默认安装在/usr/lib/security/pam_mysql.so.因为在下面的pam文件中,我直接使用的pam_mysql.so文件,所以需要建立一个文件连接到/lib/security/中,使用ln –s /usr/lib/security/pam_mysql.so /lib/security/pam_mysql.so。如果不建立这个文件的的连接到/lib/security/文件夹中,pam程序文件无法找到需要使用的pam认证文件。如果没有做这个文件连接,则在pam配置文件中就需要将pam_mysql.so改成/usr/lib/security/pam_mysql.so
4.pam-devel
使用yum–y install pam-devel进行安装即可。
5. tcp_wrappers
使用yum–y install tcp-wrappers安装tcp-wrappers
6.vsftpd
下载地址:https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz
源码编译前,需要更改一个文件,将安装包中的builddefs.h打开,将其中的#undefVSF_BUILD_TCPWRAPPERS中的undef改成#defineVSF_BUILD_TCPWRAPPERS,使支持tcp-wrapper
三 配置(我们以用户名为user1密码为user1例)
1.mysql配置
启动数据库mysql
shell>service mysqld start
设置mysql的管理员密码:
shell>mysqladmin -u root password ‘limg@4px.com’
用root登陆mysql:
shell>mysql –u root –p
输入密码:
shell>Enter password:limg@4px.com
创建ftp数据库:
mysql>create database ftp;
授权用户名为ftp,密码为111111的用户查询ftp数据库中的表:
mysql>grant select on ftp * to ‘ftp’@’localhost’identified by ‘111111’;
重新刷权限表到内存:
mysql>flush privilieges;
使用ftp数据库:
mysql>use ftp;
创建名为users的表:
mysql>create tables users(id int not null auto_incrementprimary key,name varchar(50) not null,passwd varchar(50) not null,unique(name))engine = myisam;
添加用为名为user1,密码user1的用户到表users中:
mysql>insert into user(name,passwd) value (‘user1’,md5(‘user1’));
退出数据库:
mysql>exit;
2.pam配置
建立vsftpd的pam文件:
shell>touch /etc/pam.d/vsftpd
打开vsftpd的pam文件:
shell>vi /etc/pam.d/vsftpd
编辑vsftpd的pam文件,添加两行认证信息:
auth required pam_mysql.so user=ftp passwd=111111host=localhost db=ftp table=users usercolumn=name passwdcolumn=passwd crypt=3
account required pam_mysql.so user=ftp passwd=111111host=localhost db=ftp table=users usercolumn=name passwdcolumn=passwd crypt=3
3.VSFTPD配置
vsftpd.conf编辑:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=vsftpd
ascii_download_enable=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
force_local_data_ssl=NO
force_local_logins_ssl=NO
3.根据vsftpd.conf文件中设置所要做的相应配置
建立vsftpd用户,使其属于users组
shell>useradd –G users –s /bin/false –d /home/vsftpdvsftpd
建立$USER目录:
shell>mkdir /home/vsftpd/user1
赋于user1文件夹具有vsftp用户和users组权限:
shell>chown vsftpd.useers /home/vsftpd/user1
使user1文件夹只有vsftpd用户可读写:
shell>chmod 700 /home/vsftpd/user1
建立user_config_dir目录:指定每个用户的不同权限
shell>mkdir /etc/vsftpd_user_conf
建立user1用户的权限配置文件:
shell>touch /etc/vsftpd_user_conf/user1
编辑配置文件:
dirlist_enable=YES
download_enable=YES
local_root=/home/users/user1
write_enable=YES




VSFTPD+MYSQL+PAM的更多相关文章
- Centos6.5部署vsftpd+mysql认证
1.FTP传输原理 FTP,文件传输协议,是工作在应用层,基于TCP实现,依赖于互联网即可通讯. 1)连接模式 控制(命令)连接,用来通信,一直在线,客户端随机端口连接服务端TCP:21端口. 数据连 ...
- centos7下安装vsftpd与PAM虚拟用户
Vsftp与PAM虚拟用户 使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 设置开机启动 chkconfig vsftpd on 创建一个保存 ...
- 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需要链接 ...
- [CentOS] CentOS for vsftpd with MySQL Virtual user
從ubuntu 12.04的安裝手法拿到CentOS來真的有些很大的不同 絕大部分的語法.概念都是差不多的,只是指令上有些差別,跟ubuntu 有不一樣的地方特別拿出來另外說明 要讓vsftpd與my ...
- vsftpd基于mysql的认证方式
安装epel源: cd /etc/yum.repos.d wget http://mirrors.neusoft.edu.cn/epel/epel-release-latest-6.noarch.rp ...
- 实现基于pam认证的vsftpd
1 需求 使用指定虚拟用户Allen与Barry登录ftp,认证的源是mysql服务器: Allen可以上传文件,Barry不可以上传文件: 2 环境 [root@centos7 ~]# cat /e ...
- 实现基于MYSQL验证的vsftpd虚拟用户访问
一.配置mysql服务器 1.1 安装mysql # yum -y install mariadb-server # systemctl enable --now mariadb.service &a ...
随机推荐
- 官方教程:Apache Kylin和Superset集成,使用开源组件,完美打造OLAP系统
本文转自Apache Kylin公众号apachekylin. Superset 是一个数据探索和可视化平台,设计用来提供直观的,可视化的,交互式的分析体验. Superset 提供了两种分析数据源的 ...
- xampp配置多个监听端口和不同的网站目录
1.配置Apache文件httpd.conf 打开xampp安装目录下的Apache->conf文件夹下的httpd.conf,用记事本打开 首先在Listen 80端口下添加其他监听端口: L ...
- Linux下的crontab定时执行任务详解
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“cr ...
- linux下Redis主从复制
Redis的主从配置比起MySQL主从配置简单多了,而且Redis主从复制中一个主服务可以有多个从服务,一个从服务又可以有多个从服务. MySQL主从配置http://www.cnblogs.com/ ...
- Bootstrap(6)辅组类和响应式工具
一.辅助类 Bootstrap 在布局方面提供了一些细小的辅组样式,用于文字颜色以及背景色的设置.显示关闭图标等等. 1.情景文本颜色 各种色调的字体 <p class="text-m ...
- listView 解决焦点冲突问题 item项和子控件之间的冲突
listView 在item布局的顶级布局中设置 android:descendantFocusability="blocksDescendants"可以阻止子控件获取焦点 这样使 ...
- python 数据类型 之 字典
python 3.6.5字典的特性和定义定义:{'key_1':vlaue_1,'key_2':value_2}1.键与值用冒号 : 分开2.项与项 用 , 分开 特性1.可以存放多个值,可以不唯一, ...
- HTML标签归纳
首先,按下h1,再按下Tab键就可以变成<h1></h1>,Ctrl+d可以复制当前行,Ctrl+Alt+Insert可以快速新建文件,Home可以跳到当前行最前面,End同理 ...
- c# Parallel.For 并行编程 执行顺序测试
因为有个for 实际执行结果尽管是按照for里边的顺序执行,但处理器让哪个分线程先执行,谁先处理完就不一定了. 对于要求结果需要先后顺序的,比如对text内容的操作, 用并行 Parallel.For ...
- (转)拉姆达表达式(Lambda Expressions) =>写法的涵义
lambdaclass编译器 让我们先看一个简单的拉姆达表达式: x=>x/2 这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值. 通过这个拉姆达表达式,我们可以看到: 这 ...