问题现象

项目从centOS版本迁移到欧拉版本后,创建huaiyumo的虚拟账户,通过该账户进行登录vsftp服务时报错530,具体错误信息如下:

[root@huai ~]# ftp
ftp> open 192.168.11.121
Connected to 192.168.11.121 (192.168.11.121).
220 Welcome to use FTP service.
Name (192.168.11.121:root): huaiyumo
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

如此同时,在/var/log/secure日志中发现如下关键打印信息:

connected: pam_userdb(vsftpd:auth): user_lookup: could not init database ‘/etc/vsftpd/login': No such file or directory

通过以上日志打印信息可以发现,是由于缺少login数据库文件(该数据库文件记录着用户及其密码信息)导致无法认证成功,进而导致用户登录失败并报错530。

问题分析

由于PAM认证时会通过/etc/pam.d/vsftpd配置中指定的数据库路径进行读取虚拟用户数据库信息,因此,首先检查/etc/pam.d/vsftpd配置信息,发现并无异常(第2、3行已正确添加,第6行已被注释掉),如下:

[root@huai vsftpd]# cat -n /etc/pam.d/vsftpd1  #%PAM-1.02  auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login3  account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login4  session    optional     pam_keyinit.so    force revoke5  auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed6  #auth       required    pam_shells.so7  auth       include      password-auth8  account    include      password-auth9  session    required     pam_loginuid.so10  session    include      password-auth

其次,检查/etc/vsftpd目录发现login.txt、login.db文件均已存在,通过如下db_load命令重新生成记录huaiyumo虚拟账户的login.db数据库文件后,发现secure日志中仍然报错could not init database ‘/etc/vsftpd/login’: No such file or directory。

[root@huai ~]# echo "huaiyumo" >> /etc/vsftpd/login.txt
[root@huai ~]# echo "8H37bk" >> /etc/vsftpd/login.txt
[root@huai ~]# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

排除了/etc/pam.d/vsftpd配置的影响,也排除了login.db生成方式或格式不对的影响,那么有没有可能是login.db这个二进制文件在欧拉版本中无法识别呢?通过进一步调研和分析,果不其然,欧拉版本中无法读取login.db数据库文件,可以读取login.pag数据库文件(可以通过gdbmtool命令来实现)。

问题解决

将项目中通过db_load命令生成login.db文件改为通过gdbmtool命令生成login.pag文件,如下所示。同时,保持/etc/pam.d/vsftpd配置文件保持不变,实现PAM认证时从login.pag数据库文件中读取虚拟用户信息并进行认证登录。

[root@huai user]# gdbmtool /etc/vsftpd/login.pagWelcome to the gdbm tool.  Type ? for help.gdbmtool> store huaiyumo
DATA? 8H37bk
gdbmtool> q
[root@huai user]#

通过上述过程完成后,如下,再次用huaiyumo账户登录FTP服务器发现可以正常登录上,并且底层/var/log/secure日志中打印“connected: pam_userdb(vsftpd:auth): user ‘huaiyumo’ granted access”的成功登录信息。

[root@huai ~]# ftp
ftp> open 192.168.11.121
Connected to 192.168.11.121 (192.168.11.121).
220 Welcome to use FTP service.
Name (192.168.11.121:root): huaiyumo
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

欧拉版本登录vsftp服务报错530(Login incorrect)问题现象分析及解决相关推荐

  1. ftp登录时,报错“530 Login incorrect.Login failed”

    一.问题 由于项目需求:需要在搭建一个ftp.在设置完文件夹,创建新用户并赋予相应权限以后.        我登录ftp站点时爆出如下错误信息. 我的运行环境:centos8.2   64bit 二. ...

  2. ftp登陆报错530 Login incorrect. Login failed.

    (1) 首先ftpd中有两个文件 控制对象访问 /etc/vsftpd/ 下,两个黑名单: ftpusers. user_list (userlist_deny=YES (default),). 默认 ...

  3. VSFTP服务报错,pam_unix(vsftpd:auth): authenticatio,pam_unix(vsftpd:auth): check pass; user unknown pam_

    VSFTP服务报错,pam_unix(vsftpd:auth): authenticatio, pam_unix(vsftpd:auth): check pass; user unknown pam_ ...

  4. 在 Android 中使用 Google Play 游戏服务登录出现12501 报错

    在 Android 中使用 Google Play 游戏服务进行登录出现12501报错 添加Google Play服务 配置Google API控制台项目 配置AndroidManifest.xml ...

  5. 查看node的位置_升级Node版本RN项目运行报错cb.apply is not a function

    今日打算安装一下ReactNative官方推荐的脚手架工具Ignite. infinitered/ignite​github.com Ignite是一套整合了 Redux 以及一些常见 UI 组件的脚 ...

  6. weblogic启动服务报错

    昨天在搭建测试环境过程中安装完weblogic9.2后,发现启动服务报错后台错误提示:weblogic.management.ManagementException: [Management:1412 ...

  7. struts1起服务报错

    struts1起服务报错 1. 2014-5-10 21:36:56 org.apache.struts.action.ActionServlet init 严重: Unable to initial ...

  8. mysql 启动服务1067_windows无法启动MySQL服务报错1067的解决方法

    突然登陆MySQL时,出现禁止访问或者无法连接到数据库,回到服务,去打开wampmysqld ,发现 "windows无法启动MySQL服务 错误1067" ,死活启动不了,咋办? ...

  9. poi版本冲突导致连续报错NoSuchMethodError、VerticalAlignment无法转换为short和ClassNotFoundException的解决办法及兼容性问题解决

    项目场景: 在一个线上业务中,涉及到excel转pdf的相关操作,使用了poi库,但是一次运维中发现该功能产生了错误的结果,生成的pdf文件为空.报错信息为Caused by: java.lang.N ...

最新文章

  1. Selenium 1.0的历史及工作原理
  2. 威斯康辛大学《机器学习导论》2020秋季课程完结,课件、视频资源已开放
  3. ADO.NET中异步处理的方式
  4. Thymeleaf选择器引用公共片段
  5. Android 使用自带的HttpClient进行https请求出现403的解决过程记录
  6. Hbuilder常用快捷键功能.html
  7. IDC运维团队技术交流总结篇————换个角度看世界
  8. 重构-改善既有代码的设计(1)
  9. mysql单实例多数据库_Mysql单实例数据库的安装
  10. Android 自动判断是电话,网址,EMAIL方法之Linkify
  11. 【翻译】Tomcat 6.0 安装与启动
  12. B4A 调用 饺子播放器 JiaoZiVideoPlayer
  13. 电瓶车充电桩收费平台在福建学校的应用
  14. IT运维管理之数据维护技术方案
  15. 什么是漏洞?最全的漏洞分类!
  16. Nginx之——负载均衡、限流、缓存、黑名单和灰度发布
  17. AutoLeaders控制组——51单片机学习笔记(DS18B20温度传感器、LCD1602、直流电机+PWM)
  18. 深度至尊之三信技术GHOST XP SP3装机精英白金版V11.3(NTFS)
  19. float 和int转换是怎么做到的
  20. 2015 百度 移动软件开发 一二面

热门文章

  1. 我就喜欢:林志玲生日照破家暴谣言:远嫁日本的她,现在怎么样了?
  2. 人还是要有幻想的(22)
  3. 白嫖彩虹云主机自制图床
  4. Apache下载和安装
  5. MySQL相关基础知识
  6. android imageview stretchblt,VC 下 StretchBlt 的模式及失真问题
  7. 在计算机网络的定义中,一个计算机网络包含多台具,计算机网络本1412模拟卷2_答案...
  8. 2022资料员-通用基础(资料员)考试题及在线模拟考试
  9. mq4气体传感器流程图_气体传感器Word版
  10. 新宝股市行情在震荡中选择方向,继续观望