vsftp pam mysql_VSFTP+MySQL+PAM
Vsftp+MySQL+pam配置手册
一、安装所需软件包
apt-get install vsftpd mysql-server mysql-client libpam-mysql
libpam-mysql 这个包可以让PAM读取MySQL数据来验证用户信息,其它的软件包就不用解译了吧!
二、设置FTP用户权限与家目录
在 操作第一步骤完后,系统会自动创建系统用户名:ftp,这个用户就是vsftpd默认的匿名用户,没有其它权限。在我的工作环境下这个用户名的家目录是 /home/ftp,RH系统ftp家目录是/var/ftp。呵呵,这都是无关紧要的,可以自由设置!你也可以自定义ftp匿名用户,并作相关修改,下 载教程中用户ftp也应修改成你自定义的用户名。
默认/home/ftp权限并不是用户ftp,我们要修改下。
#mkdir /home/ftp/temp
#chown -R ftp.nogroup /home/ftp
三、配置MySQL数据库
说起mysql我也惭愧,我对数据库是一点也不懂!一直以来我把数据库就简单的理解为一个庞大的信息仓库的。即原是信息就不得不想起安全吧!mysql默认状态下是很不安全的。我这里就只能简单的设置下口令,至于mysql优化请大家去阅读mysql手册吧!
#mysqladmin -u root -p password 123456 修改mysql的root密码,第一次修改因为root密码是空所以不用输入旧密码。
连接数据库:
#mysql -uroot -p 使用root用户连入本机mysql服务器
Enter password: 输入root用户密码,注意:不是系统根用户哦
mysql> 连入成功!如果没有出现这个提示符,则是上面两个步骤没有正确
mysql>create database vsftpd; 建立库名。记住,在mysql环境下命令的结束必须有“;”,如果忘记了输入“;”也不怕的,忘记了输入“;”则是换行,在mysql里面命令是可以分成几行执行的。你再输入“;”起同样的作用。
mysql>show databases; 查看库名是否建立,如果没有则重新执行上一步。
mysql>use vsftpd; 打开库vsftpd,以下操作就会针对vsftpd库。
mysql>create table users (name varchar(20) not null,password varchar(20) not null,primary key (name)) type=myisam; 创建名为users的表名,其中设置了两个键name和password。这里比较难理解,我一一解释吧!varchar(20) not null设置键长度为20,且不能为空,primary key(name)设置表的主键(主键是不能赋相同的值,因为ftp用户名不能相同)。type=myisam设置表的类型(MyISAM 全新二进制可移植的表处理器),这个是默认的,可以省略。
mysql>show tables; 查看表是否建立成功,没有请退到上一步。
mysql>insert into users values('admin','admin'); 建设虚拟用户admin,密码为admin。
mysql>insert into users values('download','download');
mysql>insert into users values('upload','upload');
mysql>insert into users values('web','web');
mysql>select * from users; 验证结果,如果看不到刚才建立的虚拟用户那么请退到上一步。
MySQL数据建好了,但是我们不能直接用root用户吧,要给它建立个用户供pam使用。
mysql>grant select on vsftpd.users to vsftpd@localhost identified by 'vsftpd';
#grant 命令
#select on vsftpd.users 所有权限,这里设置权限仅在vsftpd库的users表#使用select。
#to vsftpd@localhost 本机vsftpd用户(mysql按照用户名和所在IP区分用#户,root和root@%不是同一个用户。)
#identified by 'vsftpd' 设置vsftpd@localhost用户的口令为vsftpd。
mysql>quit; 退出mysql,mysql配置完成。
四、配置vsftpd的PAM验证
#vim /etc/pam.d/vsftpd
把以前的内容全部注释掉,然后添加如下肉容(下面只有两行,请注意):
auth required pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0
account required pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0
解释一下:
user=vsftpd 刚才添加的mysql用户名
passwd=vsftpd 刚才添加的用户名密码
host=localhost mysql服务器名,我是做在本机所以……。
db=vsftpd 与这个对应create databases vsftpd,是存储用户名的mysql库名
table=users 存储用户名的mysql库中的表名
usercolumn=name 与mysql对应的键
passwdcolumn=password 与mysql对应的键
crypt=0 加密方式,0表示明文,1表示unix方式加密,2表示mysql中的password函数加密,3表示md5加密的。不过我都只有做成明文才成功了,1、2、3方法都不行! 知道的朋友告诉下哦!
vsftp pam mysql_VSFTP+MySQL+PAM相关推荐
- linux mint 安装php,使用apt-get方式为Linux Mint 13安装PHP+MYSQL+Apache
使用apt-get方式为Ubuntu安装PHP+MYSQL+Apache 分别执行如下命令: (1)安装MYSQL sudo apt-get install mysql-server sudo apt ...
- 红旗 6.0 安装mysql_红旗Linux6.0+Apache+Mysql+PHP配置全过程
红旗Linux6.0+Apache+Mysql+PHP配置全过程 发布时间:2008-11-03 11:07:13来源:红联作者:wangel 刚来论坛,想做点什么,不过我是菜鸟,只能写写自己的体会. ...
- php4 apache 配置,[开发环境配置]windows下php4+mysql4+apache2开发环境配置
在网上看了好多php+mysql+apache的开发环境配置文档.但是其中不乏出现了很多的问题导致在配置开发环境的时候出现了很多的问题.这里总结出一份自己配置过程中的文档希望能给大家带来一些帮助.那么 ...
- ubuntu eclipse mysql_Ubuntu设置、应用及常见问题解决(十)- 安装jdk+tomcat+eclipse+mysql...
Ubuntu设置.应用及常见问题解决(十)- 安装jdk+tomcat+eclipse+mysql , or type selection number: 输入包含有 "sun" ...
- Windows7下手动搭建Apache+PHP+MySQL方法记录
转载地址:http://zww.me/archives/25371 前言:本地调试 WordPress 主题一直是使用 XAMPP 搭建本地环境,但不知道什么原因,在比较多调用的主题(如CMS类)计算 ...
- mac 配置php和mysql_Mac下配置PHP+MySql环境
由于最近需要布置mantis用来进行bug追踪,在此记录其过程. 由于PHP apache环境在Mac OS上是自带的,所以不需要另处下安装包,只需要简单配置一下即可. 首先打开终端输入命令: sud ...
- mac eclipse tomcat mysql_mac下使用eclipse+tomcat+mysql开发 j2ee(一)
在这里是使用eclipse+tomcat+mysql的方式. 1.软件下载 (1) eclipse 我使用的是mac,因为本人是苹果客户端开发者,所以目前只有苹果机器了.首先下载eclipse for ...
- php mysql难不难_一家之言的经验之谈php+mysql扎实个人基本功
一家之言的经验之谈php+mysql扎实个人基本功 一. 10句话 1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON ...
- 在Mac OS X 10.8中配置Apache + PHP + MySQL
用趣味的心态,开发有趣味的应用.简单是一种美丽~~~ 博客园 首页 博问 闪存 新随笔 联系 订阅 管理 随笔- 23 文章- 0 评论- 58 在Mac OS X 10.8中配置Apache ...
最新文章
- OpenCV+python调用本地摄像头并录制视频
- 云开发技术应用python_云开发技术应用(Python)
- 被未知进程占用端口的解决办法
- python学习turtle(龟图标状态)
- Linux基础之常见命令用法(一)
- 以鶸ice为例,手撸一个解释器(一)明确目标
- Android系统前台进程,可见进程,服务进程,后台进程,空进程的优先级排序
- python一切都是对象 知乎_python一切皆对象
- Map集合-根据宠物昵称查找宠物
- EJB3在JBoss5内集群探究
- 关于win10安装CPC专利软件以及win10安装office2003
- Python每日一编程小练习(2019.06.01)——柠檬水找零
- 首先下载安装data.table包_首次揭秘“超级签”与企业包行业内幕!
- 《惢客创业日记》2020.11.15-17(周日)谁有谁的四十不惑?
- 美图手机sim卡显示无服务器,美图手机卡顿怎么解决
- 有没有能够在待办事项完成后标记任务已完成的每日计划APP?
- 灾备联盟牵头研制《云灾备技术发展趋势与应用白皮书》
- 《基于Cortex-M4的ucOS-III的应用》课程设计 结题报告
- Android基础知识梳理
- 通过VN1630/VN7640的I/O功能来确认电源设置电压的时间精确度
热门文章
- 昇腾AI 软硬件全栈平台
- 最大限度地减少块输出中间结果的计算和存储
- 2021年大数据常用语言Scala(十四):基础语法学习 数组 重点掌握
- linux CentOS7 下 Docker安装
- C++ #if、#elif、#else和#endif指令 的使用
- java 递归思想的理解
- Gradle dependency cache may be corrupt
- sqli-labs:5-6,盲注
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
- JAVA问题定位跟踪技术