环境

os: ubuntu 18

apache2: 2.4.29

php: 7.2

lam: 6.5

slapd: 2.4.45

1 Ubuntu安装

sudo apt-get install -y slapd ldap-utils migrationtools

slapd: ldap server。

ldap-utils: ldap常用命令工具集。

migrationtools: 一个把系统用户和组迁移到ldap上的一个工具(可以不装)。

2 初始化admin

sudo dpkg-reconfigure slapd

依次为: NO, potens.top, china,123456,123456,MDB,NO,YES

3 配置客户端连接

cat /etc/ldap/ldap.conf # 不存在则需要创建文件

# 上面的域

BASE dc=potens,dc=top

# ldap server 地址 默认端口为389

URI ldap://127.0.0.1

4 检查是否初始化成功

netstat -antup|grep 389

查看admin用户

ldapsearch -x -LLL -b dc=potens,dc=top

>> 输出

dn: dc=potens,dc=top

objectClass: top

objectClass: dcObject

objectClass: organization

o: china

dc: potens

dn: cn=admin,dc=potens,dc=top

objectClass: simpleSecurityObject

objectClass: organizationalRole

cn: admin

description: LDAP administrator

5 创建测试组合测试用户

$vim test.ldif

dn: ou=test,dc=potens,dc=top

objectClass: organizationalUnit

objectClass: top

dn: uid=test,ou=test,dc=potens,dc=top

uid: test

cn: 测试

displayName: 测试

gidNumber: 5000

uidNumber:1000

sn: 测

givenName: 试

homeDirectory: /home/test

loginShell: /bin/bash

mail: test@potens.top

objectClass: posixAccount

objectClass: top

objectClass: inetOrgPerson

telephoneNumber: 15711111111

userPassword: 123456

$ldapadd -x -D "cn=admin,dc=potens,dc=top" -W -f test.ldif # 输入admin密码

6 安装web管理页面lam

$cat ldap.sh

PHP_VERSION=7.2

apt-get install -y apache2 php php-ldap php-xml php-zip

mkdir /www

cd /www

wget http://note.youdao.com/yws/public/resource/6e6b5d0367a0b2326619e29f5055cf88/xmlnote/B93E5271092C440AAE54C8000F5F60B3/6598 -O ldap-account-manager-6.5.tar.bz2

tar jxf ldap-account-manager-6.5.tar.bz2

rm -rf ldap-account-manager-6.5.tar.bz2

mv ldap-account-manager-6.5 ldap-account-manager

chown -R www-data:www-data /www

echo '

ServerName ldap.potens.top

ServerAlias ldap.potens.top

DocumentRoot /www/ldap-account-manager

Options FollowSymLinks Includes

AllowOverride All

Order deny,allow

Allow from all

' > /etc/apache2/sites-available/ldap.potens.top.conf

ln -s /etc/apache2/sites-available/ldap.potens.top.conf /etc/apache2/sites-enabled/ldap.potens.top.conf

sed -i '916i\extension=xml' /etc/php/$PHP_VERSION/apache2/php.ini

sed -i '917i\extension=ldap' /etc/php/$PHP_VERSION/apache2/php.ini

sed -i '918i\extension=zip' /etc/php/$PHP_VERSION/apache2/php.ini

cd /www/ldap-account-manager/config

cp config.cfg.sample config.cfg

cp unix.conf.sample unix.conf

/etc/init.d/apache2 restart

7 lam配置

7.1 首页进入LAM configuration

index.png

7.2 配置全局设置 初始密码为lam

image.png

7.3 设置Session timeout过期时间和master密码

setting.png

master password.png

7.4 增加server profiles

edit server profiles.png

manage server profiles.png

7.5 增加模板为unix的profile并设置为默认的profile(添加时候需要上面设置过的master密码)

image.png

image.png

7.5 配置potens profile

输入profile的密码进入配置

profile login.png

分为四个设置

general setting: 通用设置。服务器地址、后缀、登录方式、密码等

account type: 账户类型。账号的类型相关的属性设置。

modules: 模块。用户和用户组相关模块的配置。

module setting: 模块设置。用户个人信息的及id的范围。

setting list.png

general setting->设置ldap的地址

ldap addr.png

general setting->账号查找类型

login type.png

account type->账号相关的设置

image.png

其他两个先保持默认。保存设置,回到登录页。

login.png

8 设置语言

切换语言列表登录,必须保证lam所在的服务器存在对应的语言包,如果没有使用安装语言包

$ dpkg-reconfigure locales

找到zh_cn.UTF-8 按空格选中

add language.png

9 使用test账号在lam上登录

image.png

image.png

10 使用admin用户登录lam

创建admin profile

image.png

image.png

登录方法需要选择固定列表 admin用户不支持搜索登录

image.png

其他设置参考poten的profile设置

11 使用admin用户创建users、group账户类型

$ cat account.ldif

# 组

dn: ou=groups,dc=potens,dc=top

objectClass: organizationalUnit

objectClass: top

ou: groups

# 用户

dn: ou=users,dc=potens,dc=top

objectClass: organizationalUnit

objectClass: top

ou: users

$ ldapadd -x -D "cn=admin,dc=potens,dc=top" -W -f account.ldif

12 使用lam创建分组和用户

选择admin进行登录

image.png

image.png

创建dev开发组

image.png

创建yanshaowen用户

add user.png

image.png

add user.png

创建unix信息

unix.png

设置密码

set password.png

保存

save.png

退出admin使用账户yanshaowen登录

image.png

13 设置用户一些可见的设置

lam settting -> Edit server profiles-> 选择potens

先选择全局设置

用户只能修改自己的信息

工具全部隐藏

选择账户相关设置

隐藏用户组

添加 LDAP filter 让用户只能看到自己

因为lam只提供了LOGIN_DN 的宏 所以只能自己定义了LOGIN_UID和LOGIN_CN的宏了( 如果创建用户的时候选择cn为RDN identifier, 则需要用LOGIN_CN 否则用LOGIN_UID) 需要修改lam的源码 保存后重新登录lam就可以生效了

vim /www/ldap-account-manager/lib/modules.inc

# get_ldap_filter函数增加下面几行代码

$dn_list = get_item_value($loginData[0]);

$finalFilter = str_replace('@@LOGIN_UID@@', $dn_list['uid'], $finalFilter);

$finalFilter = str_replace('@@LOGIN_CN@@', $dn_list['cn'], $finalFilter);

## 增加下面的函数

function get_item_value($dn) {

$dn_k_v_list = ['uid' => null, 'cn' => null];

$dn_list = ldap_explode_dn($dn, 0);

foreach($dn_list as $item) {

$item_list = explode('=',$item);

if (count($item_list) == 2) {

$dn_k_v_list[$item_list[0]] = $item_list[1];

}

}

return $dn_k_v_list;

}

修改源码

ldap端口超时设置_ldap安装配置相关推荐

  1. linux搭建ldap服务器搭建,Linux下安装配置OpenLDAP服务器

    东西多了,为了好管理,我们会将它们别类:服务器中信息.资源多了,不言而喻也是这个道理,而目录服务器是这个原理.那么支持IPV6协议的OpenLDAP如何在Linux服务器上安装配置? 一.安装Open ...

  2. linux 虚拟专用网络设置,centos安装配置pptp 虚拟专用网络服务器步骤分享

    说明: 服务器操作系统:CentOS 5.X 64位 服务器IP地址:192.168.21.128 实现目的:服务器安装配置pptp软件,对外提供虚拟专用网络拨号服务 具体操作: 一.安装包下载 1. ...

  3. Hadoop是小象——Hadoop集群安装配置

    文章目录 所需软件 集群网络配置 集群SSH免密登陆设置 Hadoop安装配置 所需软件 Linux所需软件包括: JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本(以前安装过) ...

  4. 域控查看ldap端口命令_LDAP基础安装与简单入门使用

    0x00 前言简述 主要产品 基本模型 应用场景 0x01 环境安装 基于 yum 安装 基于 Docker 安装 0x02 LDAP配置&命令 slapd 命令 ldapsearch 命令 ...

  5. centos6.5安装配置LDAP服务[转]

    centos6.5安装配置LDAP服务[转] 安装之前查一下 1 find / -name openldap* centos6.4默认安装了LDAP,但没有装ldap-server和ldap-clie ...

  6. CentOS 6.4安装配置ldap

    CentOS 6.5安装配置ldap 时间:2015-07-14 00:54来源:blog.51cto.com 作者:"ly36843运维" 博客 举报 点击:274次 一.安装l ...

  7. Tomcat的安装配置与使用,及常用端口大全

    如果有兴趣了解更多相关知识,可以来我的个人博客看看:eyes++的个人空间 零:Tomcat的介绍 Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache.Sun ...

  8. Windows下MemCache多端口安装配置

    Windows下MemCache环境安装配置的文章很多,但大部分都是用的默认端口11211,如何修改默认端口.如何在一台服务器上配置多个MemCache端口?这正式本文要解决的问题. 1.从微软官网下 ...

  9. 虚拟化宿主服务器网络设置,kvm虚拟化安装配置手册

    环境 系统    centos6.2-x86_64 IP地址    192.168.0.99 1.KVM宿主机安装: 一.安装条件: 1)含有KVM的Linux 发行版本必须在64bit环境中才能使用 ...

最新文章

  1. Redis官方教程中文版
  2. [Swift]LeetCode75. 颜色分类 | Sort Colors
  3. [optee]-opteeTA启动的过程(open_ta的过程)
  4. Windows 下使用 BaiduExporter + Aria2 下载百度网盘文件
  5. python sorted下标_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
  6. mysql打平子表_solr初步学习
  7. HQuery中html结构及文本的修改
  8. Java并发与锁设计实现详述 - Java中的Condition
  9. 如何让SAP Spartacus的非英语页面正常显示
  10. maven依赖 spark sql_window环境运行spark-xgboost 8.1踩到的坑
  11. jquery非常不错的图片切换,多种切换效果
  12. 适用于ios和android,适用于iOS和Android的OpenGL ES差异
  13. 基于nginx搭建直播,web播放视频方案
  14. XMLHttpRequest发送POST请求
  15. 【机器学习笔记之八】使用朴素贝叶斯进行文本的分类
  16. 京东把 Elasticsearch 到底用的有多牛?日均5亿订单查询完美解决!
  17. 我的VSTO之路(二):VSTO程序基本知识
  18. (翻译)关系型数据库工作原理(二)
  19. 通过斐波那契数列探讨时间复杂度和空间复杂度
  20. 【数据分析】基于RFM模型的线上零售中的客户细分(二):RFM模型实战

热门文章

  1. 自定义支持360度旋转的车模View
  2. 《C#高级编程》读书笔记(十四):代码协定
  3. win7虚拟机设置时间服务器,win7系统中怎么设置延长VMware虚拟机启动画面停留时间...
  4. linux中配置MPE和MADDPG环境
  5. java.time_Java JapaneseDate atTime()用法及代码示例
  6. ipone java编辑器,其实iPhone也可以变成免费的音乐编辑工具
  7. 人脸识别成“网红” 与交通行业结下不解情缘
  8. 常用的统计量及其对应的抽样分布(python)
  9. python3.x完全兼容2.x_Python3.x系列版本完全兼容Python2.x系列版本。
  10. java仿qq聊天系统 多人聊天室