解决vsftpd+MySQL虚拟用户无法登陆的问题

系统和软件版本:

CentOS release 5.5 x86_64

vsftpd-2.0.5-28.el5

mysql-server-5.0.95-3.el5

pam_mysql-0.7RC1.tar.gz 编译安装

以此前写过的 vsftpd+TLS+MySQL 的解决方案,始终无法正常登陆ftp服务器,折腾了两个小时后,无意间查到修改mysql的/etc/my.conf的old_passwords=1修改为old_passwords=0,竟然好了~

经过搜索得知,在mysql4.1前后的,其加密方式的有所改变,而old_passwords=1使得mysq仍使用老的加密方式,因此和pam_mysql的加密结果不同,而导致登陆失败的。所以当修改old_passwords=0后,删除原来在mysql中插入的数据,重新写入,再次测试即可通过。

顺便说一下,在网上搜索问题时,有网友说是因为pam连接mysql时,使用的sock文件和mysql自身放置的位置不同,因此做链接 # ln -sf /var/lib/mysql/mysql.sock /tmp/mysql.sock 即可解决,虽然本例并未对笔者的环境有效,但想来这问题在其他环境中也是有的,因此做个简单的记录

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/Ftp/

时间: 2024-08-30 23:22:00

解决vsftpd+MySQL虚拟用户无法登陆的问题的相关文章

判断vsftpd虚拟用户无法登陆故障方法

又是vsftpd虚拟用户无法登陆,以前常用apache用户,这次自己建了一个用户vuser,折腾半天不得要领.   看了上次的无法登陆文章,里面提到了一个方法,就是在服务器上用ftp命令登陆,会提示详细的错误信息,而在客户端则无错误日志.切记切记. ftp>ftp 127.0.0.1 按照步骤执行操作, 在登录输入账号密码的时候会提示详细错误

让Vsftpd的虚拟用户使用MySQL进行用户认证

让Vsftpd的虚拟http://www.aliyun.com/zixun/aggregation/6579.html">用户使用MySQL进行用户认证,可以方便的在一台机子上拥有上千个ftp账户,可以使用phpmyadmin来管理数据库. 安装vsftpd.mysql和phpmyadmin Vsftp没有内置的MySQL支持,所以我们必须使用PAM来认证: sudo apt-get install vsftpd libpam-mysqlmysql-server mysql-client

Vsftpd使用虚拟用户,访问FTP

由于需要,公司网站目录需要把上传权限开通,并且同一个目录需要不同的人给与不同的权限.但是上传只能通过FTP进行上传.而网站服务器上的FTP服务器使用的是Vsftpd. 具体要求如下: 网站根目录/www,对用户ailanni具有所有权,能上传.下载.删除.创建目录权限.对bilanni用户具有下载.浏览权限.其他用户直接跳转到FTP公共目录下. 根据这个要求我们需要使用到vsftpd的虚拟用户. Vsftp虚拟用户的原理是:把虚拟用户的权限映射到系统用户上.而虚拟用户的权限是有系统用户对目录的控

为VSFTPD配置虚拟用户

为VSFTPD配置虚拟用户(文本方式) 创建虚拟与用户数据库 1. 创建loguser.txt,格式如下: userid pass 比如我创建两个用户:tony 密码为tonypass,etony密码为etonypass 则 loguser.txt的内容如下: tony tonypass etony etonypass 2. 安装数据库生成工具: # aptitude install  libdb3-util 3. 生成数据库: # db_load -T -t hash -f loguser.t

VSFTP+MySQL虚拟用户配置过程讲解,互联网营销

VSFTPD是一种在 UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用.VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中.VSFTPD称这种形式的用户为虚拟用户.相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性.相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性.对于需要提供下载服务,但又不希望所有人都可以匿

VSFTP+MySQL虚拟用户配置过程讲解

VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用.VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中.VSFTPD称这种形式的用户为虚拟用户.相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性.相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性.对于需要提供下载服务,但又不希望所有人都可以匿名

Vsftpd服务器虚拟用户配置

  系统环境是: CentOS 5.5 x86_64 vsftpd有三种用户模式:匿名用户.本地用户.虚拟用户.本次我们来讲解虚拟用户,它的优点是安全性高,便于管理.  代码如下   # 通过yum直接在线装vsftpd(rpm版本) yum -y install vsftpd db4-utils # 创建vsftp的系统用户 useradd vuser -s /sbin/nologin # 创建系统用户的列表, 一行一个 touch /etc/vsftpd/chroot_list # 创建虚拟

linux中vsftpd下虚拟用户+被动模式配置详解

下面说说在linux下部署vsftp的过程吧,小小笔记. 一.安装 这里我说下最简单的rpm包安装,因为光盘中有,何必编译呢? yum install db4* vsftpd -y 二.配置 1.新建系统用户 useradd vsftpd -s /sbin/nologin 限制vsftpd用户登录,此用户将最为vsftpd服务的宿主用户 useradd ftp -s /sbin/nologin 这里是Vsftpd虚拟宿主用户,默认情况下这个用户应该有. 当然这些用户你可以用另外的名字. 2.修改

Vsftpd服务器虚拟用户配置方法

系统环境是: CentOS 5.5 x86_64 vsftpd有三种用户模式:匿名用户.本地用户.虚拟用户.本次我们来讲解虚拟用户,它的优点是安全性高,便于管理.  代码如下 复制代码 # 通过yum直接在线装vsftpd(rpm版本) yum -y install vsftpd db4-utils # 创建vsftp的系统用户 useradd vuser -s /sbin/nologin # 创建系统用户的列表, 一行一个 touch /etc/vsftpd/chroot_list # 创建虚