同期スクロール:
LDAPとは何ですか
LDAPとは何ですか?
概念を知るために、最も簡単な方法は、もちろん、ウィキペディアにウィキペディアことができます。
ライトウェイトディレクトリアクセスプロトコル(ライトウェイトディレクトリアクセスプロトコル)は、オープン、ニュートラル、業界標準のアプリケーションプロトコルでアクセス制御を提供し、IPプロトコルを介して情報を分散ディレクトリ情報を維持するためにLDAPが立っています。
理解するのは簡単LADPは、ツリー構造のデータを格納するデータベース、およびプロトコル、この契約による検索クエリデータとサードパーティ製の缶機能のセットが含まれています。
これは、標準のLDAP(Lightweight Directory Access Protocol)の使用X.500プロトコルに基づいたオープンなインターネット標準であるが、LADPプロトコルは、クロスプラットフォームInterntプロトコルです
結論のLDAPディレクトリでは、データベースシステムとアクセスのプロトコルのセットです。
なぜ使用のLDAP
理由を知るために、我々は、LDAPが問題を解決することができるかを理解する必要がありますか?
我々はすべて知っているように、各システムが異なることがあり、各システムのために自分のユーザー名、ユーザー名とパスワードを登録する必要があります場合は、時に会社の規模、数多くのシステムワークが存在します。個人にとっては、ビューの企業のITセキュリティの観点からも、より厄介で、イライラするものです。
だから、必要に応じて、統一認証、シングルサインオンがあります。
LDAPは、シングルサインオンでの使用に最も適したシステムです。
LDAPはオープン、ニュートラル、業界標準のアプリケーションプロトコルであるため、データ構成がシンプルで、クロスプラットフォームをサポートし、単一、高い安定性と、クエリのパフォーマンスを備え、開発コストとドッキングの重複を減らすために認証サービスを行うためにそれを使用します。
LDAP基本的なデータモデル
LDAP基本データモデルは、データの1デンドリマーを整理することですが、これらの名前は、ビットdumbfoundingです。LDAPを理解するには、少なくとも次の概念を理解します。
LDAPは、すべてのエントリ(またはオブジェクト)はツリー構造で定義され、ツリーデータ構造です。
エントリのツリーは、ディレクトリ情報ツリー(DIT)と呼ばれています。
一意に識別の名前に完全なエントリは、我々は識別名(DN)としてそれを呼び出します。
我々はRDUを呼び出すサブノードDN、単一のノードまたはパス。
典型的には、エントリ(またはオブジェクト)は、両方のタイプのオブジェクトに格納されます。
-
コンテナ(コンテナ):このオブジェクト自体は、他のオブジェクトを含めることができます。例:ルート(ディレクトリツリーのルート要素、それは本当に存在していない)、C(国/地域)、OU(組織単位)、およびDC(ドメイン)。コンテナ(コンテナ)と、ファイルシステムディレクトリに匹敵します。
-
(リーフノード)リーフ:このオブジェクトは他のオブジェクトを含むことができない、エンドノードが配置されています。例の人、InetOrgPersonの、はgroupofNamesください。
各オブジェクトは、オブジェクトに従わなければならないルールの数のプロパティの値を決定するプロパティが含まれていました。
最後に、我々は短いLDAPに覚えておく必要があります
- O:組織(機構 - 株式会社)
- OU:組織単位(OU - 部門)
- C:COUNTRYNAME(国)
- DC:domainComponent(ドメイン名)
- SN:suer名(本名)
- CN:共通名(一般名)
例:
例えば図にエントリをBABS:
DNます。uid = BABS、OU =人、dc = example、dc = comの
尊敬ます。ou = People、dc = RDNの例では、dc = comのノードます。uid = BABSのObjectClass:人
この記事は、ちょうどあなた自身の公式文書でキーLDAPの概念、より詳細で具体的な学習のいくつかを言及します。
LDAPサーバを設定します
環境の使用:OpenLDAPの2.4、Centos7.6
環境を更新するための最初のステップ
ファイル名を指定して実行:yumのアップデート
第二段階のインストールのOpenLDAP
インストールOpenLDAPと関連するインストールパッケージ
yumをOpenLDAPの-develの-サーバ - SQLをOpenLDAPのOpenLDAPの-サーバのOpenLDAPのcompat-openldapのはopenldap-クライアントをインストール-y
インストール後、サービスを開始することができますし、開始状態から直接サービスを設定します。次のコマンドを実行します。
systemctlスタートslapdは
slapdのを有効にsystemctl
仕上げを開始した後は、サービスがslapdのを実行しているかどうかを確認することができます
netstat -antup | grep -i 389
可看到如下图
第三步 创建LDAP的根密码
此密码用于整个安装过程,是LADP的管理员根密码,使用slappasswd 命令生成密码
输入slappasswd后提示输入密码与确认密码,系统会输出一串SSHA加密后的字符串,请Copy出来保存在记事本中。
我设置的密码是Ricman,加密后出来的字符串是
{SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8
第四步 配置LDAP服务
这是整个过程中最难的地方,目前整个网络上能搜索到的,几乎都是过时配置方式,Ricman也是踩着坑爬出来的,希望此文能给在今后的日子,能帮助道友们少走弯路。
要怎么修改配置,OPenLdap 2.4不再推荐直接使用配置文件方式,并且极容易出错,修改的所有过程,均使用ldapmodify完成
我们可以先看一下目前配置都有哪些文件,执行命令
cd /etc/openldap/slapd.d/cn=config
ls
输出如下图,可能些人的结果不一样,但是几乎差不多,注意文件的名称,一会修改配置的时候,会使用到。
当然,你可以使用cat 来查看文件内容,可以看到原始的内容。
我们要修改的字段有:
olcSuffix – 用于保存域信息,需要更新为自己的域
olcRootDN – 根的DN(唯一识别名),根的区别名,它用于根管理员在此节点下做所有的管理
olcRootPW – LDAP 管理员的根密码,用刚刚第三步创建出来的密码设置到这里
我们在任意目录下创建 db.ldif文件。Ricman的经验最好不要在/etc/openldap/slapd.d/cn=config目录下创建,因为这目录保存着原始的配置文件,当使用slaptest -u 测试配置时会报错。我偷懒,直接在根目录下创建,运行cd ~便可切换到根目录(在根目录下创建文件是不好行为,为方便说明安装过程,就暂时使用)
修改db文件
这db文件不是数据库文件,只是ldap中配置文件中一个,可能是mdb,也可能是各种*db,Ricman安装的是hdb。
运行 vi db.ldif
在此文件中编辑的内容如下
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=ricman,dc=localhost
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=ricman,dc=localhost
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8
请注意上面内容中的olcSuffix, olcRootDN, olcRootPW这三个字段,是需要修改成自己的内容的。
特别需要注意是的olcRootPW字段,因为这个字段在刚刚查看olcDatabase={2}hdb.ldif中是不存在的,所以使用add,表示增加,如果字段已经存在,使用replace,表示进行替换内容
完成编辑后,使用ldapmodify让修改的内容生效。
ldapmodify命令可在运行环境中直接修改配置文件并且不需要重启就生效的命令,具体请看ldapmodify官方使用文档。
在db.ldif目录下运行命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
输出如下图,一定要注意在有三个modifying entry才全部更新成功。
修改monitor文件
与修改db文件相似。在刚刚的db.ldif目录下运行命令
vi monitor.ldif
在此文件中输入以下内容
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=Manager,dc=max,dc=localhost" read by * none
请自己修改db.base中的内容,这个等号后面的内容是上面db.ldif中的olcRootDN是一致的。
保存文件后同样使用ldapmodify让其生效。
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
输出如下图
同样,要出现modifying entry才成功。如上图中Ricman在编辑文件时多写了一行,所以出错了。请注意检查自己编辑的monitor文件。
创建ldap 基础库
这里创建的是一个基础库,用于保存数据。安装ldap后会有一个example配置,需要我们复制一份配置文件并赋予它所有权限
运行以下命令
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*
完成配置后,我们就可以向数据库中增加schemas,需要增加的有:cosine , nis,inetorgperson
schemas是什么鬼,schemas就是数据库表的定义文件,相当于关系数据库中的表定义。当然稍有区别。具体可以参考文档说明understanding-ldap-schema
执行ldapadd命令增加,命令如下
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
以上三条命令是一条一条执行,每一条输出如下图
完成以后,就可以创建base.ldif,在库中增加自己管理域下的内容,运行命令
vi base.ldif
在文件中输入以下内容
dn: dc=ricman,dc=localhost
dc: ricman
objectClass: top
objectClass: domain
dn: cn=Manager ,dc=ricman,dc=localhost
objectClass: organizationalRole
cn: Manager
description: LDAP Manager
dn: ou=People,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: Group
同样的,需要修改为你自己的域
运行命令将此数据保存到库中去
ldapaddを-x -W -D "CN =マネージャ、DC = ricman、DC = localhost" を-f base.ldif
LDAPパスワードこのコマンドプロンプトは、第三段階の上に作成したパスワードと同じパスワードは、私がここで入力した:ricmanを
以下の出力
これは、基本的な設定を完了します
経営のLdap
インターネットのダウンロードLDAP管理、私はそれは非常に興味深いと思い個人的に管理するために、直接使用するLDAP管理をwindow7システムを使用しています。
接続する前に、我々は、LDAP例外を許可するようにサーバーのファイアウォールを設定する必要があります。
コマンドを実行します
ファイアウォール-CMD --permanent --add-サービス= LDAP
ファイアウォール-CMD --reload
次に、あなたが管理するために、LDAP管理を使用することができます。connect->新しい接続]をクリックします
その後、ホスト、ベースとユーザー名とパスワードを設定
管理者のユーザー名を使用するには、この例では、CN =マネージャ、DC = ricman、DC = localhostです
パスワードは、第三のステップの上に作成したパスワードで、当事者はricmanにパスワードを使用しました
接続のテストをクリックすると、管理インターフェイスの接続に直接クリックすることができ、以下に示すように、成功しています
あなたは、組織、彼らはユーザーを作成するために必要なツールを使用することができます
アンインストールのLdap
あなたがアンインストールする必要がある場合は、サービス、[削除yumを停止する必要が
systemctl STOPのslapdを
yumをOpenLDAPの-サーバompat-はopenldap OpenLDAPの-クライアントを削除します
もちろん、DB_CONFIGと設定ファイルを忘れないでください、だけでなく、それを削除するには
RM -rfは/ var / libに/ LDAP / *
RM -rf /etc/openldap/slapd.d/*
したがって、最後のフルテキスト。転載、複製する場合は、ソースを明記してください、ありがとうございました