Zabbix 认证方式配置为LDAP,倘若LDAP挂掉后该怎么办

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

Zabbix 认证方式有三种,分别是InternalLDAPHTTP。这里对认证方式不做过多解释。


假如我们将认证方式配置为LDAP,但是认证使用的账号被误删除,并且密码已经记不清了,或者LDAP

系统挂掉,此时使用Zabbix初安装时的Admin/zabbix 账号密码组合是不能登陆的。这时我们该怎么办

呢?


思路有两个:

1. 更改认证类型为Internal,然后使用Admin登陆,如果忘记密码,也可以重置Admin密码

2. 更新LDAP认证主机和Bind DN


其实这些配置信息都是存储在数据库中的,我们可以通过数据库修改这些信息。

下面我们看一下数据库表信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[root@zabbix ~] # mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 83
Server version: 5.1.72-log Source distribution
Copyright (c) 2000, 2011, Oracle and /or  its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and /or  its
affiliates. Other names may be trademarks of their respective
owners.
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
mysql> use zabbix;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          |
| actions               |
| alerts                |
| applications          |
| auditlog              |
| auditlog_details      |
| autoreg_host          |
| conditions            |
| config                |
| dchecks               |
| dhosts                |
| drules                |
| dservices             |
| escalations           |
| events                |
| expressions           |
| functions             |
| globalmacro           |
| globalvars            |
| graph_discovery       |
| graph_theme           |
| graphs                |
| graphs_items          |
groups                 |
| help_items            |
history                |
| history_log           |
| history_str           |
| history_str_sync      |
| history_sync          |
| history_text          |
| history_uint          |
| history_uint_sync     |
| host_inventory        |
| hostmacro             |
| hosts                 |
| hosts_groups          |
| hosts_templates       |
| housekeeper           |
| httpstep              |
| httpstepitem          |
| httptest              |
| httptestitem          |
| icon_map              |
| icon_mapping          |
| ids                   |
| images                |
| interface             |
| item_discovery        |
| items                 |
| items_applications    |
| maintenances          |
| maintenances_groups   |
| maintenances_hosts    |
| maintenances_windows  |
| mappings              |
| media                 |
| media_type            |
| node_cksum            |
| nodes                 |
| opcommand             |
| opcommand_grp         |
| opcommand_hst         |
| opconditions          |
| operations            |
| opgroup               |
| opmessage             |
| opmessage_grp         |
| opmessage_usr         |
| optemplate            |
| profiles              |
| proxy_autoreg_host    |
| proxy_dhistory        |
| proxy_history         |
| regexps               |
| rights                |
| screens               |
| screens_items         |
| scripts               |
| service_alarms        |
| services              |
| services_links        |
| services_times        |
| sessions              |
| slides                |
| slideshows            |
| sysmap_element_url    |
| sysmap_url            |
| sysmaps               |
| sysmaps_elements      |
| sysmaps_link_triggers |
| sysmaps_links         |
| timeperiods           |
| trends                |
| trends_uint           |
| trigger_depends       |
| trigger_discovery     |
| triggers              |
| user_history          |
users                  |
| users_groups          |
| usrgrp                |
| valuemaps             |
+-----------------------+
103 rows  in  set  (0.00 sec)


用户和认证的信息涉及到四个表,分别是表config、users、users_groups、usrgrp。


config表结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
mysql> desc config;
+-------------------------+---------------------+------+-----+-----------------+-------+
| Field                   | Type                | Null | Key | Default         | Extra |
+-------------------------+---------------------+------+-----+-----------------+-------+
| configid                | bigint(20) unsigned | NO   | PRI | NULL            |       |
| alert_history           | int(11)             | NO   |     | 0               |       |
| event_history           | int(11)             | NO   |     | 0               |       |
| refresh_unsupported     | int(11)             | NO   |     | 0               |       |
| work_period             | varchar(100)        | NO   |     | 1-5,00:00-24:00 |       |
| alert_usrgrpid          | bigint(20) unsigned | YES  | MUL | NULL            |       |
| event_ack_enable        | int(11)             | NO   |     | 1               |       |
| event_expire            | int(11)             | NO   |     | 7               |       |
| event_show_max          | int(11)             | NO   |     | 100             |       |
| default_theme           | varchar(128)        | NO   |     | originalblue    |       |
| authentication_type     | int(11)             | NO   |     | 0               |       |
| ldap_host               | varchar(255)        | NO   |     |                 |       |
| ldap_port               | int(11)             | NO   |     | 389             |       |
| ldap_base_dn            | varchar(255)        | NO   |     |                 |       |
| ldap_bind_dn            | varchar(255)        | NO   |     |                 |       |
| ldap_bind_password      | varchar(128)        | NO   |     |                 |       |
| ldap_search_attribute   | varchar(128)        | NO   |     |                 |       |
| dropdown_first_entry    | int(11)             | NO   |     | 1               |       |
| dropdown_first_remember | int(11)             | NO   |     | 1               |       |
| discovery_groupid       | bigint(20) unsigned | NO   | MUL | NULL            |       |
| max_in_table            | int(11)             | NO   |     | 50              |       |
| search_limit            | int(11)             | NO   |     | 1000            |       |
| severity_color_0        | varchar(6)          | NO   |     | DBDBDB          |       |
| severity_color_1        | varchar(6)          | NO   |     | D6F6FF          |       |
| severity_color_2        | varchar(6)          | NO   |     | FFF6A5          |       |
| severity_color_3        | varchar(6)          | NO   |     | FFB689          |       |
| severity_color_4        | varchar(6)          | NO   |     | FF9999          |       |
| severity_color_5        | varchar(6)          | NO   |     | FF3838          |       |
| severity_name_0         | varchar(32)         | NO   |     | Not classified  |       |
| severity_name_1         | varchar(32)         | NO   |     | Information     |       |
| severity_name_2         | varchar(32)         | NO   |     | Warning         |       |
| severity_name_3         | varchar(32)         | NO   |     | Average         |       |
| severity_name_4         | varchar(32)         | NO   |     | High            |       |
| severity_name_5         | varchar(32)         | NO   |     | Disaster        |       |
| ok_period               | int(11)             | NO   |     | 1800            |       |
| blink_period            | int(11)             | NO   |     | 1800            |       |
| problem_unack_color     | varchar(6)          | NO   |     | DC0000          |       |
| problem_ack_color       | varchar(6)          | NO   |     | DC0000          |       |
| ok_unack_color          | varchar(6)          | NO   |     | 00AA00          |       |
| ok_ack_color            | varchar(6)          | NO   |     | 00AA00          |       |
| problem_unack_style     | int(11)             | NO   |     | 1               |       |
| problem_ack_style       | int(11)             | NO   |     | 1               |       |
| ok_unack_style          | int(11)             | NO   |     | 1               |       |
| ok_ack_style            | int(11)             | NO   |     | 1               |       |
| snmptrap_logging        | int(11)             | NO   |     | 1               |       |
| server_check_interval   | int(11)             | NO   |     | 10              |       |
+-------------------------+---------------------+------+-----+-----------------+-------+
46 rows  in  set  (0.03 sec)


其中,认证类型由 authentication_type,字段决定,值可以为0,1和2。0 代表Internal,1代表

LDAP,2代表HTTP.


这样更改认证类型就容易了:

将认证类型更改为Internal:

1
2
3
4
5
mysql> update config  set  authentication_type=0;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


修改Admin密码:

1
2
3
4
5
6
7
8
9
10
11
12
#查询Admin用户的ID:
mysql>  select  * from  users ;
+--------+-------------+-------------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+----------------+---------------+---------------+
| userid |  alias        | name        | surname       |  passwd                            | url | autologin | autologout | lang  | refresh |  type  | theme   | attempt_failed | attempt_ip     | attempt_clock | rows_per_page |
+--------+-------------+-------------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+----------------+---------------+---------------+
|      1 | Admin       | Zabbix      | Administrator | 5fce1b3e34b520afeffb37ce08c7cd66 |     |         1 |          0 | zh_CN |      30 |    3 | default |              4 | 192.168.100.34 |    1383812925 |            50 |
#更新Admin密码
mysql> update  users  set  passwd = 'zabbix'  where userid=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


更改用户权限组:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#查询权限组ID
mysql>  select  * from usrgrp;
+----------+---------------------------+------------+--------------+------------+
| usrgrpid | name                      | gui_access | users_status | debug_mode |
+----------+---------------------------+------------+--------------+------------+
|        7 | Zabbix administrators     |          0 |            0 |          0 |
|        8 | Guests                    |          0 |            0 |          0 |
|        9 | Disabled                  |          0 |            1 |          0 |
|       11 | Enabled debug mode        |          0 |            0 |          1 |
|       12 | No access to the frontend |          2 |            0 |          0 |
|       13 | Hou                       |          0 |            0 |          0 |
|       14 | Mu                        |          0 |            0 |          0 |
+----------+---------------------------+------------+--------------+------------+
7 rows  in  set  (0.00 sec)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#查询用户和权限组对应关系
mysql>  select  * from users_groups ;
+----+----------+--------+
id  | usrgrpid | userid |
+----+----------+--------+
|  4 |        7 |      1 |
|  2 |        8 |      2 |
|  5 |        7 |      3 |
|  6 |        7 |      4 |
|  7 |        7 |      5 |
| 12 |       14 |      6 |
| 11 |       13 |      8 |
+----+----------+--------+
7 rows  in  set  (0.00 sec)
#修改用户所在权限组
mysql>  update users_group  set  usrgrpid= '1'  where userid=3;
ERROR 1146 (42S02): Table  'zabbix.users_group'  doesn't exist
mysql>  update users_groups  set  usrgrpid= '1'  where userid=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)


更改LDAP主机或者BIND DN:

1
mysql> update config  set  ldap_host= 'xxx.xxx.xxx.xxx'  ldap_base_dn= 'cn=ldap_search,ou=example,dc=com'  ldap_bind_password= 'passwd' ;



有了上面这些操作,不论是用户误删除且密码忘记,还是LDAP挂掉,都可以随心所欲的更改认证了。





     本文转自marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1406495,如需转载请自行联系原作者




相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
监控 关系型数据库 Linux
|
29天前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
19 0
|
5月前
|
监控 前端开发 应用服务中间件
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
417 0
|
5月前
|
监控 关系型数据库 MySQL
zabbix部署以及配置
zabbix部署以及配置
79 3
|
7月前
|
监控 关系型数据库 MySQL
CentOS 7系统安装配置Zabbix 5.0LTS 步骤
CentOS 7系统安装配置Zabbix 5.0LTS 步骤 查看Zabbix官方教程(重点) 打开官方网址:https://www.zabbix.com/cn,点击ZABBIX下载。 选择你的Zabbix服务器的平台,比如:Zabbix5.0 LTS、CentOS 7、Mysql、Apache等。 往下滑,查看安装和配置Zabbix教程
134 1
|
8月前
|
存储 监控 数据可视化
Zabbix分布式监控配置和使用
Zabbix分布式监控配置和使用
93 0
|
8月前
|
监控 关系型数据库 MySQL
在 Alibaba Cloud Linux 上配置 Zabbix
本场景是在 Alibaba Cloud Linux 上配置 Zabbix监控。
185 0
|
9月前
|
存储 监控 关系型数据库
|
10月前
|
监控 Unix Go
zabbix:监控docker应用配置
zabbix:监控docker应用配置
442 0
zabbix:监控docker应用配置
|
12月前
|
监控 Java 应用服务中间件
【Zabbix】Zabbix JMX 接口配置
【Zabbix】Zabbix JMX 接口配置