我正在使用两台服务器,一台 samba 服务器和一台 389-ds 服务器。现在我想将它们集成起来,以便通过 ldap 服务器对 samba 共享进行身份验证。我已按照http://directory.fedoraproject.org/docs/389ds/howto/howto-samba.html现在我遇到了一个问题。
正如 PAM 配置页面中所述(http://directory.fedoraproject.org/docs/389ds/howto/howto-pam.html)我想运行命令
authconfig --enableldap --enableldapauth --disablenis --enablecache
--ldapserver=host.example.com --ldapbasedn=dc=example,dc=com --updateall
但我发现没有文件ldap.conf
可以/etc
通过此命令更新。此外,该命令仅导致属于 openldap 的find / -name ldap.conf
文件,而这不是我的工作重点。我还运行了该命令,因为我读到在 centos 6 上重命名为,我想在 centos 7 上可能也是如此。但命令结果不是我要搜索的。 我还在 ldap 服务器上安装了、和并启动了它们的服务。为了更清楚起见,运行结果为: /etc/openldap/ldap.conf
find / -name *ldap.conf
/etc/ldap.conf
/etc/pam_ldap.conf
nss_ldap
nslcd
sssd
smbldap-tools
yum list installed | grep ldap
ldapjdk.noarch
nss-pam-ldapd.x86_64
openldap.x86_64
openldap-clients.x86_64
openldap-servers.x86_64
sssd-ldap.x86_64
但主要问题仍然存在:该文件ldap.conf
不存在。
答案1
该ldap.conf
文件通常用于配置 LDAP 客户端设置,但在 CentOS 7 上可能默认不存在。相反,您应该使用ldap.conf
OpenLDAP 客户端包提供的文件,该文件用于 LDAP 客户端配置。
以下是在 CentOS 7 上配置 LDAP 客户端设置以集成 389-ds(389 目录服务器)和 Samba 的一些步骤:
安装 OpenLDAP 客户端包:如果您还没有安装 OpenLDAP 客户端包,请在您的 CentOS 7 系统上安装。您可以使用以下命令执行此操作:
sudo yum install openldap-clients
配置 LDAP 客户端:安装 OpenLDAP 客户端后,您可以创建并配置文件
ldap.conf
来定义您的 LDAP 客户端设置。您可以在目录中手动创建此文件/etc/openldap/
。以下是示例:sudo nano /etc/openldap/ldap.conf
然后,将 LDAP 客户端配置添加到此文件。示例
ldap.conf
文件可能如下所示:URI ldap://your-ldap-server.example.com BASE dc=example,dc=com BINDDN cn=ldapuser,dc=example,dc=com BINDPW your-ldap-password
调整设置以匹配您的 LDAP 服务器配置。应
URI
指向您的 LDAP 服务器地址,并BASE
应指定您的 LDAP 目录的基本 DN。BINDDN
并BINDPW
指定用于身份验证的 LDAP 用户和密码。重新启动 LDAP 服务:配置
ldap.conf
文件后,您可能需要重新启动 LDAP 服务以应用更改:sudo systemctl restart nslcd
测试 LDAP 集成
ldapsearch
:您可以使用以下命令查询 LDAP 服务器来测试 LDAP 集成:ldapsearch -x -LLL -D "cn=ldapuser,dc=example,dc=com" -W -b "dc=example,dc=com"
此命令使用指定的凭据和基本 DN 搜索 LDAP 目录。
请注意,示例中的 LDAP 服务器和用户详细信息是占位符,您应该将其替换为实际的 LDAP 服务器配置。此外,请确保您已设置并正确配置了正常运行的 389-ds 服务器以与 Samba 集成。