mark

问题描述

最近忙于Zabbix Server端迁移至阿里云的工作。在服务部署完毕,导入数据库成功以后出现了点小问题。用之前的账密无法登录web端,提示账号和密码错误。在确定管理账密没有问题的情况下,想到之前Zabbix的登录方式使用的是LDAP认证,问题便明朗了。

Zabbix认证方法

这里先说一下Zabbix的三种登录验证方式。

  • Internal内建验证。Zabbix自带的账密系统。
  • HTTP BASIC。Apache/Nginx的网页验证。
  • LDAP验证。结合LDAP账户域服务器的验证。

相信一般公司都会选择和LDAP做结合。这里主要说下使用LDAP方式无法验证,且无法登陆WEB管理页面的情况下,如何通过修改数据库来更改验证方式。

解决方法

  • 修改登录认证方式
​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍‌​‌​​‌​‌‍‌​​‌‌‌‌​‍‌​​‌‌‌​‌‍‌​​‌‌‌​‌‍‌​​‌​‌‌​‍‌​​​​‌‌‌‍​​‌‌​​‌​​​​‌​‌‌‍​​‌‌​‌​‌‌​​​‌‌​‍​​​‌​​‌‌​​​​‌​​‍​‌​​​​​‌​‌​‌​‌​‍​‌‌​​‌​‌​‌‌‌​​‌‌‍​‌‌‌​‌​​​​‌‌‌‌‌​‍​​‌‌​‌​​‌​​​‌‌​‍​‌​​​​​‌‌‌‌​​​​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​​‌‌‌‌​‍‌​​‌‌​‌‌‍‌​​‌​​‌​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​‌​​​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌​​‍‌‌​​‌‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​​‌​​​‍‌​​​‌​​​‍‌​​​‌​​​‍‌‌​‌​​​‌‍‌​​‌​‌‌​‍‌​​‌​‌​​‍‌​​‌​‌‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌‌​‌​​​‌‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌​​​‌‌‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌‌​​‍‌​​‌​‌‌‌‍‌​​‌​‌‌​‍‌​​​‌​​‌‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌‌​​‌​‌‌‍‌‌​​‌‌‌‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

修改zabbix数据库config表authentication_type的值,这个键值代表的就是登录认证类型,一共有三个选项,0表示Internal,1表示LDAP,2表示HTTP。下面是需要执行的命令(输出内容省略):

MariaDB [(none)]> show database;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> select authentication_type from config;
MariaDB [zabbix]> update config set authentication_type=0;
  • 查询Admin用户的userid(默认情况下是1)
MariaDB [zabbix]> select * from users;
  • 修改Admin账号的密码
MariaDB [zabbix]> update users set passwd=md5("kylin888") where userid='1';
MariaDB [zabbix]> flush privileges;

经过以上操作,就可以用Admin和新密码成功登录web端了。

The End.

文章目录