免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5085 | 回复: 2
打印 上一主题 下一主题

求助,VSFTP更换MYSQL版本后,出现530无法登录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-09 11:23 |只看该作者 |倒序浏览
单位新购置一台服务器,一直使用的系统是centos5.8,数据库中mysql5.0.92,ftp是VSFTP2.0.6,在安装环境时,打算在新的服务器上更换mysql版本,从5.0换到5.5,目前最新的是5.5.34,数据库与VSFTP都是独立编译,非yum安装,主要方便系统维护,在vmware下测试,发现更换MYSQL版本后,出现530无法验证登录..以下贴出相关操作

=========web布局目录===============
/myweb 主目录
/myweb/mysql 数据库目录
/myweb/vsftp FTP目录(只是保存编译好的文件)
/myweb/vsftp/temp 匿名系统用户目录
/myweb/admin_host 相关参数保存目录
/myweb/admin_host/vsftp 虚拟帐号权限存放目录
=========web用户================
创建一个名字为 myweb 的组
该组下有两个帐号
mysql 与 vsftp

# groupadd myweb
# useradd -g myweb -s /sbin/nologin -M mysql
# useradd -g myweb -d /myweb/vsftp/temp -s /sbin/nologin -M vsftp

=======================================
正常编译安装MYSQL5.0,指定安装目录,其它参数跳过,安装完后以用户组设置权限
--prefix=/myweb/mysql"

编译好后,指定运行帐号,并进行初始化数据库
# bin/mysql_install_db --user=mysql

修改数据库[root]用户的密码,修改前必须启动服务器,密码为[123456]
# bin/mysqladmin -u root password 123456

安装PAM_MYSQL模块

编译时指定参数为mysql的安装路径
# ./configure --with-mysql=/myweb/mysql

编译后将模块复制到[/myweb/mysql/other_so]目录下
# mkdir /myweb/mysql/other_so
# cp /lib/security/pam_mysql.so /myweb/mysql/other_so/pam_mysql.so

==============完成mysql5.0的安装,其实也是普遍的常规安装,以下详细说一下vsftp的安装========================


我使用的版本是vsftp2.0.6,解决了gdk编码错误问题
编译前,设置文件FTP支持模块
# vi builddefs.h
内容如下
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

保存并完成编译,得出四个文件 [vsftpd],[vsftpd.conf.5],[vsftpd.8],[vsftpd.conf],还有一个目录[RedHat],及目录下一个文件[vsftpd.pam]

将编译出来的相关文件复制到FTP目录下,操作前保证当前命令行在解压目录中 # cp vsftpd /myweb/vsftp/bin/vsftpd
# cp vsftpd.conf.5 /myweb/vsftp/bin/vsftpd.conf.5
# cp vsftpd.8 /myweb/vsftp/bin/vsftpd.8
# cp RedHat/vsftpd.pam /myweb/vsftp/bin/vsftpd.pam
# cp vsftpd.conf /myweb/vsftp/bin/vsftpd.conf


修改vsftpd.pam,令FTP与MYSQL结合,注:这里修改的是复制后在FTP目录下的vsftpd.pam
# vi /myweb/vsftp/bin/vsftpd.pam
内容如下
auth required /myweb/mysql/other_so/pam_mysql.so user=root passwd=123456 host=localhost db=host_db table=vsftp_us usercolumn=name passwdcolumn=passwd crypt=2
account required /myweb/mysql/other_so/pam_mysql.so user=root passwd=123456 host=localhost db=host_db table=vsftp_us usercolumn=name passwdcolumn=passwd crypt=2

对vsftpd.conf进行相关设置,同样是复制后在FTP目录下
# vi /myweb/vsftp/bin/vsftpd.conf
内容如下
listen=YES
local_enable=YES
guest_enable=YES
guest_username=vsftp
pam_service_name=vsftpd.pam
user_config_dir=/myweb/admin_host/vsftp/    这里是虚拟帐号权限存放目录
guest_username=vsftp    这里使用的帐户为系统的宿主用户
xferlog_file=/myweb/vsftp/vsftpd.log  另外对VSFTP设置文件中的[xferlog_file]日志保存路径进行设置



登录MYSQL,创建ftp验证时使用的数据库及表,注意MYSQL所在路径
# /myweb/mysql/bin/mysql -u root -p
输入MYSQL数据库[root]帐号的密码
创建数据库名称为[host_db],注意上面的pam_mysql文件的设置
create database host_db;

选择刚建的库
use host_db;

创建一个表,名称为[vsftp_us]
create table vsftp_us (
id int AUTO_INCREMENT NOT NULL,
name char(20) binary NOT NULL,
passwd char(4 binary NOT NULL,
primary key(id)
);

创建一个测试的虚拟FTP帐号[text],密码为[123456],注:这里只是保存FTP虚拟帐号及密码
insert into vsftp_us(name,passwd) values('text',password('123456'));

进入虚拟帐号存放目录,并创建虚拟帐号,注该目录与必须设置文件中的[user_config_dir]参数对应
# cd /myweb/admin_host/ftp_us  
创建的测试帐号名称[text],创建文件
# vi text
添加以下内容,其中[local_root]参数为该虚拟帐号的根目录
local_root=/myweb
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=022

=============到这步,所有FTP编译安装及设置完成,这里仅限指定的目录[/myweb/vsftp]下的文件,现在可以复制到系统中=============
先进入FTP目录
# cd /myweb/vsftp/bin/再进行复制
# cp vsftpd /usr/local/sbin/vsftpd
# cp vsftpd.conf.5 /usr/local/share/man/man5/vsftpd.conf.5
# cp vsftpd.8 /usr/local/share/man/man8/vsftpd.8
# cp vsftpd.pam /etc/pam.d/vsftpd.pam
# cp vsftpd.conf /etc/vsftpd.conf

编辑/etc/rc.d/rc.local,将加入系统服务中
# vi /etc/rc.d/rc.local
在文件最后插入下列内容:
/usr/local/sbin/vsftpd /etc/vsftpd.conf &

启动FTP
# vsftpd &


测试FTP,帐号[text]能正常登录由于我是在vmware下测试,有用快照,在同一环境下,除了MYSQL5.0与MYSQL5.5安装不同外,其它编译安装的都一样,更换MYSQL5.5版本后,则无法登录出现530


新人贴,初来报道,烦请大虾帮忙解决..

论坛徽章:
0
2 [报告]
发表于 2013-11-09 13:43 |只看该作者
查看了一下日志..
tail -f /var/log/secure
有以下错误,提示找不到pam_mysql.so模块
Nov  9 21:13:10 centos32 vsftpd: PAM adding faulty module: /lib/security/pam_mysql.so

但我这个路径下明明是有这个模块的.

论坛徽章:
0
3 [报告]
发表于 2013-11-09 15:41 |只看该作者
已经在GOOGLE解决..
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP