LDAP許可權配置

2021-06-07 05:30:41 字數 4120 閱讀 6031

簡介:您是否曾經設法與某個使用不同資料格式的人共享您的聯絡人列表,或者設法將您的位址簿遷移到另乙個應用程式?如果是這樣的話,您知道這是件令人頭痛的事。匯入和匯出方案(如果它們確實存在)通常很笨拙而且使用起來不能令人滿意,即使只使用一次也是如此,更不用說經常使用了。歡迎使用輕量級目錄訪問協議(lightweight directory access protocol)。本教程向您演示了如何建立乙個基於 ldap 的後端來儲存多個應用程式可以方便共享的聯絡人資訊。同時,我們提供了 ldap 基礎知識的概述,並向您介紹了乙個預先構建的聯絡人管理工具,該工具將幫助您著手使用這一開放技術。

在大多數基於軟體包的系統上(例如,在基於 rpm 的分發版(distribution)上,如 red hat、mandrake 和 suse)安裝和配置openldap 是乙個相對比較簡單的過程。第一步先確定將哪些 openldap 元件(如果有的話)作為初始 linux 設定的一部分進行安裝。

從控制台視窗或命令列,輸入:

[root@thor root]#rpm -qa | grep openldapopenldap-devel-2.0.23-4

openldap-2.0.23-4

openldap-servers-2.0.23-4

openldap-clients-2.0.23-4

[root@thor root]#

您應該看到類似上面的輸出。注:red hat 分發版安裝 openldap 客戶機軟體,但不安裝openldap-servers軟體包,即使您選擇了伺服器配置也是如此。要安裝 rpm 軟體包,在分發版媒質上找到所需檔案的位置並輸入:

rpm -ivh packagename

其它分發版在程式的封裝和命名方式方面不同;有關詳細資訊,請參考文件。

回頁首

配置 openldap 伺服器

安裝了必需的軟體之後,下一步是要配置伺服器。首先,備份原始配置檔案以供今後參考(cp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.orig)。現在,在您所喜愛的文字編輯器中開啟 /etc/openldap/slapd.conf 檔案,花幾分鐘時間通讀注釋。除了定義目錄資料庫型別、suffixrootdn和儲存目錄資料庫的位置的幾個項外,slapd.conf 中的大多數預設設定都是適當的。

database        ldbm

suffix "dc=syroidmanor,dc=com"

rootdn "cn=root,dc=syroidmanor.com,dc=com"

rootpw 05t/jkdwo0sui

directory /var/lib/ldap

index objectclass,uid,uidnumber,gidnumber,memberuid eq

index cn,mail,surname,givenname eq,subinitial

回頁首

保護rootdn

# if no access controls are present, the default is:

# allow read by all

## rootdn can always write!

,以獲取更多資訊。

回頁首

測試伺服器

現在是測試伺服器的好時機了。這裡的配置相對比較簡單也容易對可能出現的問題進行故障診斷。在 red hat linux 系統上,命令是:

[root@thor root]#service ldap start

接下來,測試您訪問目錄的能力:

[root@thor root]#ldapsearch -x -b '' -s base '(objectclass=*)' namingcontexts

如果正確配置了伺服器,您應該看到類似於下面的輸出(當然,有不同的dc):

version: 2

## filter: (objectclass=*)

# requesting: namingcontexts ##

dn:namingcontexts: dc=syroidmanor,dc=com

# search result

search: 2

result: 0 success

# numresponses: 2

# numentries: 1

如果您得到了錯誤訊息,或輸出與上面有很大的不同,則返回並檢查配置。要使 ldap 服務在重新引導時自動啟動,輸入以下命令:

[root@thor root]#chkconfig ldap on

再提醒一下,上面的命令特定於 red hat 分發版。

回頁首

配置 acl

配置 ldap 伺服器的最後一步是設定一些基本訪問控制。這樣做可以確保使用者只能訪問他們需要訪問的項。

在 openldap 下設定 acl(訪問控制表,access control list)的方法有兩種:可以將include行放在/etc/openldap/slapd.conf的頂部,指向乙個單獨的檔案(例如,include /etc/openldap/slapd.access.conf);或者可以將 acl 直接新增到slapd.conf。這完全由您選擇 ― mandrake 通常使用include行;red hat 將 acl 新增到配置檔案。

回頁首

acl 示例

# define acls -- access control definitions

access to dn=".*,dc=syroidmanor,dc=com" attr=userpassword

by dn="cn=root,dc=syroidmanor,dc=com" write

by self write

by * auth

access to dn=".*,dc=syroidmanor,dc=com" attr=mail

by dn="cn=root,dc=syroidmanor,dc=com" write

by self write

by * read

access to dn=".*,ou=people,dc=syroidmanor,dc=com"

by * read

access to dn=".*,dc=syroidmanor,dc=com"

by self write

by * read

上面的配置僅允許userpassword屬性的所有者修改項,但僅當所有者提供他或她的優先密碼時才允許進行修改。在所有其它情況下,只能出於認證目的來訪問該項,而不能檢視它。第二個access to...項允許使用者修改自己的電子郵件位址(attr=mail)。第三個項指定除了rootdn外,對於所有人,ou=people,dc=syroidmanor,dc=com中的任何 dn 都是唯讀的。這可防止使用者更改其使用者名稱、uid、gid 和主目錄等。最後,最後一項是包容前面訪問控制中未涉及的任何東西的安全的「大雜燴」。例如,它允許使用者更改其自己位址簿中的項。

在伺服器可以使用新的 acl 之前,需要重新啟動:service ldap restart

完成基本配置之後,應該將一些有用的項填充到資料庫。

更簡單的一句話:

access to *

by * read

除了root 使用者可以讀寫外。其他使用者都唯讀

ldap配置記錄

記錄一下最近研究ldap nfs的情況 ldap這個東西上次研究nis的時候就有人說那是上個世紀的老東西了,不應該繼續使用。雖然意識到如此但時間不夠還是使用了nis,這次乘著重做就乾脆切換到ldap,可這次相當不順利,折騰了乙個星期左右,現在總算折騰好了,中間被坑了無數次,記錄一下以備下次繼續參考吧...

kafka整合ldap許可權管理

1 先登入kafka賬號 kinit kt home zhc kafka.keytab kafka 2 查詢kafka所有的角色 kafka sentry lr 3 若沒有角色,建立角色 kafka sentry cr r rolename 4 在ldap中建立kafka的專案組 5 將角色新增到k...

ldap配置使用文件

1.掛載光碟裡的openldap rpm ivh 安裝包名 2.安裝成功後修改openldap的配置檔案 使用操作命令為 vi etc openldap slapd.conf 按i鍵進入編輯模式 1 設定目錄樹的字尾 找到語句 suffix dc my domain,dc com 將其改為 suff...