mysql vsftp_VSFTP+MySQL+PAM

Vsftp+mysql+pam配置手册一、安装所需软件包 apt-get install vsftpd mysql-server mysql-client libpam-mysql libpam-mysql 这个

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方法都不行! 知道的朋友告诉下哦!

logo.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值