搭建Samba与OpenLDAP集成服务指南
立即解锁
发布时间: 2025-08-25 00:10:36 阅读量: 1 订阅数: 9 

### 搭建 Samba 与 OpenLDAP 集成服务指南
#### 1. 配置 PAM 和 NSS
首先,需要对 PAM 和 NSS 进行配置,使其能够连接到 LDAP 服务器。编辑 `/etc/nsswitch.conf` 文件,添加如下内容:
```plaintext
passwd: files nis ldap
shadow: files nis ldap
group: files nis ldap
```
修改完成后,保存文件。
#### 2. 配置 OpenLDAP
在 PAM 和 NSS 配置好连接 LDAP 服务器之后,接下来要准备 OpenLDAP,使其能够在新的 LDAP 数据库中接受 Samba 用户。具体步骤如下:
1. **确保 Samba 已安装**:若系统中没有 Samba,可通过以下命令进行安装:
```bash
yum install samba
```
2. **复制 Samba OpenLDAP 模式文件**:将名为 `samba.schema` 的文件从 `/usr/share/doc/samba - 3.0.33/LDAP` 复制到 `/etc/openldap/schema` 目录下,使用命令:
```bash
cp /usr/share/doc/samba-3.0.33/LDAP/samba.schema /etc/openldap/schema/samba.schema
```
3. **修改 `slapd.conf` 文件**:打开 `/etc/openldap/slapd.conf` 文件,找到以下行:
```plaintext
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
```
添加 Samba OpenLDAP 模式文件:
```plaintext
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
```
这样,OpenLDAP 服务器就可以创建能与 Samba 一起使用的 LDAP 数据库。
4. **创建新的 LDAP 数据库**:将原来的 `dc=my - domain,dc=com` 替换为 `dc=dctoys,dc=com`,找到以下行:
```plaintext
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
```
修改为:
```plaintext
suffix "dc=dctoys,dc=com"
rootdn "cn=Manager,dc=dctoys,dc=com"
```
修改完成后,保存文件。
#### 3. 配置 OpenLDAP 客户端配置文件
OpenLDAP 有一个配置文件 `ldap.conf`,位于 `/etc/openldap` 目录下,用于指定 LDAP 客户端连接 OpenLDAP 服务器时某些选项的默认值。添加以下内容:
1. 打开 `/etc/openldap/ldap.conf` 文件,添加:
```plaintext
HOST 127.0.0.1
BASE dc=dctoys, dc=com
```
第一行使用 `HOST` 选项告知 LDAP 客户端 LDAP 服务器的主机名或 IP 地址;`BASE` 选项用于标识 OpenLDAP 服务器在 LDAP 操作中使用的默认可分辨名称。
2. 添加完上述内容后,保存文件,然后启动 OpenLDAP 服务器:
```bash
service ldap start
```
#### 4. 配置 Samba
接下来,要对 Samba 服务器进行配置,使其能与准备好的 OpenLDAP 服务器进行交互。步骤如下:
1. **修改 `smb.conf` 文件**:打开 `/etc/samba/smb.conf` 文件,找到以下行:
```plaintext
workgroup = MYGROUP
server string = Samba Server Version %v
; netbios name = MYSERVER
```
修改为:
```plaintext
workgroup = DCTOYS
server string = Samba Server Version %v
netbios name = PDC-DCTOYS
```
0
0
复制全文
相关推荐








