---
# System prepended metadata

title: LDAP伺服器
tags: [網路概念]

---

# LDAP伺服器
**LDAP伺服器(Lightweight Directory Access Protocol Server)**
主要的功能在於『目錄服務（目錄服務）』的提供。

## 1. 目錄服務
**目錄服務簡介**：LDAP作為一種協議，能夠訪問和維護存儲在目錄伺服器中的資訊。這些資訊通常以樹狀結構存儲，並且可以包含使用者、電腦、網路設備、印表機等各種對象的詳細資訊。目錄服務的目的是為網路中的資源提供一種結構化、統一的存儲方式，使得資源查找和管理更加高效。
**組織資訊的管理**：通過LDAP，組織可以集中管理員工的聯繫資訊、職位資訊、所屬部門等內容，這些資訊通常在企業內部共享。
資源管理：LDAP目錄還可以用來管理其他網路資源，如訪問權限、配置信息、郵件伺服器等，使得這些資源能夠在多個系統之間共享。
## 2. 使用者認證
**集中身份驗證**：LDAP常用於使用者身份驗證，尤其是在多使用者系統和網路服務中。例如，企業中的員工使用統一的LDAP認證系統登入不同的應用程式和服務（如郵件伺服器、VPN、Intranet等），這減少了多次輸入密碼的麻煩，並提高了安全性。
**單點登錄（SSO）**：LDAP能夠作為單點登錄系統的核心部分，允許使用者使用一次登錄來訪問多個系統和服務。所有這些系統都從同一個LDAP目錄中獲取使用者憑證和權限資訊。
權限管理：LDAP不僅用於身份驗證，還用於分配和管理使用者權限。基於LDAP的權限管理可以確保使用者在不同系統中擁有一致的權限設置，例如，只有特定的使用者或使用者組可以訪問某些敏感信息或執行某些操作。

## 3.LDAP的主要特點：
* **層次結構**：
LDAP數據存儲在一個樹狀的目錄結構中，通常從頂級域名開始，向下分為多個組織單位，直到用戶或設備的條目。這種結構有助於直觀地反映企業或組織的實際架構。
* **高效查詢**：
LDAP優化了查詢操作，特別適合處理頻繁的讀取請求，例如在用戶登錄時驗證憑證。這使得LDAP成為大規模用戶管理的理想選擇。
* **多平台支持**：

LDAP協議被廣泛支持，幾乎可以在所有的主要操作系統和目錄伺服器上使用，這使得它在異構環境中具有良好的兼容性。
* **集中管理**：

通過LDAP，可以集中管理用戶賬戶和資源權限，簡化管理工作，特別是在需要統一管理大量用戶和設備的企業環境中。
LDAP的常見用途：
* **用戶認證**：
LDAP通常用於驗證用戶身份，特別是在企業環境中，確保用戶登錄系統或訪問資源時的安全性。
* **權限管理：**
LDAP可以用來管理用戶對網絡資源的訪問權限，確保不同用戶或用戶組擁有適當的訪問級別。
* **目錄服務**：
LDAP可用於存儲用戶、計算機、印表機等設備的信息，作為一個企業的目錄服務系統，方便資源的查找和管理。
LDAP的基本概念包括：
* **目錄（Directory）：**
目錄類似於一本電話簿，用於存儲和組織信息。這些信息按照層次結構進行組織，通常類似於文件系統的樹狀結構。每個節點稱為“條目”（Entry）。
* **條目（Entry）**：
條目是目錄中的基本單位，包含一個或多個“屬性”（Attributes）。每個屬性由一個名稱和一個或多個值組成。例如，一個用戶條目可能包含屬性cn（common name，通常是用戶名）、sn（surname，姓氏）、mail（電子郵件地址）等。
* **屬性（Attribute）**：
屬性是條目中的具體數據點。例如，一個用戶條目可能有屬性cn（common name），它的值可能是“John Doe”。每個屬性都有一個或多個值，這些值可以是字符串、整數或其他數據類型。
* **條目DN（Distinguished Name）**：
DN是一個條目的唯一標識符，類似於文件系統中的路徑。它描述了條目在目錄樹中的位置。例如，cn=John Doe,ou=users,dc=example,dc=com是一個DN，它表示一個名為“John Doe”的用戶位於ou=users組織單位中，該組織單位位於example.com域中。

## 4.LDAP操作：

### LDAP支持多種操作，其中最常用的是：
* **查詢操作**：如ldapsearch，用於搜索目錄中的條目。
```shell
ldapsearch -x -b "搜索基准DN" "(搜索過濾器)" 属性列表
```
-x：使用简单认证（不使用SASL）。
-b "搜索基准DN"：指定搜索的起点（基准DN）。
"(搜索过滤器)"：指定搜索条件。
属性列表：要检索的属性列表，多个属性用空格分隔。
* **添加操作**：如ldapadd，用於向目錄中添加新的條目。
```shell
ldapadd -x -D "綁定DN" -W -f 輸入文件.ldif
```
* **修改操作**：如ldapmodify，用於修改現有條目的屬性。
```shell
ldapmodify -x -D "绑定DN" -W -f 修改文件.ldif
```
-D "绑定DN"：指定用于绑定到LDAP服務器的DN。
-W：提示輸入绑定DN的密碼。
-f 輸入文件.ldif：指定包含新條目的LDIF文件。

* **刪除操作**：如ldapdelete，用於從目錄中刪除條目。
```sgell
ldapdelete -x -D "绑定DN" -W "刪除DN"
```
"刪除DN"：指定要刪除的条目的DN。


### 模式（Schema）：

模式定義了LDAP目錄中的條目類型及其屬性。它規定了哪些屬性是必需的，哪些是可選的，以及每個屬性的值的類型。模式可以被擴展，以適應特定應用的需求。