前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZABBIX 对接 LDAP实现用户登陆统一认证

ZABBIX 对接 LDAP实现用户登陆统一认证

作者头像
用户6641876
发布2020-02-19 15:12:52
2.3K0
发布2020-02-19 15:12:52
举报

ZABBIX 认证方式有三种,分别是Internal、LDAP和HTTP。

注意:实现LDAP用户账户统一认证需要AD和ZABBIX共有用户帐号并且保证LDAP设置中 Test authentication 选项中用户和密码和AD中的相同。

Windows AD域

创建OU zabbix

在OU中创建账号

设置账号密码

OU中用户账户

ZABBIX Server

查看php 是否安装ldap 模块

LDAP配置

代码语言:javascript
复制
LDAP host:访问DC的地址。格式:ldap://ip地址Port:默认389Base DN: DC=ytzjsj,DC=com,也就是域名(ytzjsj.com)Search attribute: sAMAccountName。Bind DN:CN=Admin, OU=zabbix, DC=ytzjsj, DC=com。CN就是在DC中创建的LDAPuser用户, OU就是LDAPuser属于哪个ou,DC=ytzjsj和DC=com同上。Bind password:xxxx ,改密码为LDAPuser用户的密码Login:AdminUser password:在DC中创建Admin用户和密码

开启LDAP认证

创建新用户

AD域控上需要创建ytzjsj的账户和密码

注意:在添加新用户时,如果 ZABBIX 已经开启ldap 认证且AD上已经创建新用户的账户和密码,这时在ZABBIX上创建用户可以不填写用户的密码可直接使用AD上的密码实现认证!

新用户登陆

LDAP挂掉后该怎么办

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

代码语言:javascript
复制
use zabbix;  #进入zabbix库show tables; #查看zabbix库中数据表desc config; #查看config表结构

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

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

0 代表Internal,1代表LDAP,2代表HTTP。

操作步骤

代码语言:javascript
复制
select userid,alias,passwd from zabbix.users;update zabbix.config set authentication_type=0;update zabbix.users set passwd=md5("admin") where userid='1';flush privileges;

用户数据库参数介绍

查询Admin用户的ID

select * from users;

代码语言:javascript
复制
(zabbix@localhost)[(none)]> select userid,alias,name,passwd from zabbix.users;+--------+-------+--------+----------------------------------+| userid | alias | name   | passwd                           |+--------+-------+--------+----------------------------------+|1 | Admin | Zabbix | f8c29048c7741c7fcfa77fb0cd30a2d5 || 2 | guest |        | d41d8cd98f00b204e9800998ecf8427e ||3 | zjsj  |        | afce02a060d53fa624ae21636316ca99 |+--------+-------+--------+----------------------------------+3 rows in set (0.000 sec)

查询权限组ID

select * from usrgrp;

代码语言:javascript
复制
(zabbix@localhost)[zabbix]> select * from usrgrp;+----------+---------------------------+------------+--------------+------------+| usrgrpid | name                      | gui_access | users_status | debug_mode |+----------+---------------------------+------------+--------------+------------+|        7 | Zabbix administrators     |          0 |            0 |          0 ||        8 | Guests                    |          1 |            0 |          0 ||        9 | Disabled                  |          0 |            1 |          0 ||       11 | Enabled debug mode        |          0 |            0 |          0 ||       12 | No access to the frontend |          3 |            0 |          0 ||       13 | zjsj                      |          0 |            0 |          0 |+----------+---------------------------+------------+--------------+------------+6 rows in set (0.001 sec)
代码语言:javascript
复制
select * from users_groups;(zabbix@localhost)[zabbix]> select * from users_groups ;+----+----------+--------+| id | usrgrpid | userid |+----+----------+--------+|  4 |        7 |      1 ||  2 |        8 |      2 ||  5 |       13 |      3 |+----+----------+--------+3 rows in set (0.000 sec)

查询用户和权限组对应关系

select * from usrgrp;

代码语言:javascript
复制
(zabbix@localhost)[zabbix]>  select * from usrgrp;+----------+---------------------------+------------+--------------+------------+| usrgrpid | name                      | gui_access | users_status | debug_mode |+----------+---------------------------+------------+--------------+------------+|        7 | Zabbix administrators     |          0 |            0 |          0 ||        8 | Guests                    |          1 |            0 |          0 ||        9 | Disabled                  |          0 |            1 |          0 ||       11 | Enabled debug mode        |          0 |            0 |          0 ||       12 | No access to the frontend |          3 |            0 |          0 ||       13 | zjsj                      |          0 |            0 |          0 |+----------+---------------------------+------------+--------------+------------+6 rows in set (0.000 sec)

修改用户所在权限组

代码语言:javascript
复制
update users_groups set usrgrpid='1' where userid=3;flush privileges;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿冬的运维技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档