LDAP权限配置

简介:  您是否曾经设法与某个使用不同数据格式的人共享您的联系人列表,或者设法将您的地址簿迁移到另一个应用程序?如果是这样的话,您知道这是件令人头痛的事。导入和导出方案(如果它们确实存在)通常很笨拙而且使用起来不能令人满意,即使只使用一次也是如此,更不用说经常使用了。欢迎使用轻量级目录访问协议(Lightweight Directory Access Protocol)。本教程向您演示了如何创建一个基于 LDAP 的后端来存储多个应用程序可以方便共享的联系人信息。同时,我们提供了 LDAP 基础知识的概述,并向您介绍了一个预先构建的联系人管理工具,该工具将帮助您着手使用这一开放技术。

在大多数基于软件包的系统上(例如,在基于 RPM 的分发版(distribution)上,如 Red Hat、Mandrake 和 SuSE)安装和配置OpenLDAP 是一个相对比较简单的过程。第一步先确定将哪些 OpenLDAP 组件(如果有的话)作为初始 Linux 设置的一部分进行安装。

从控制台窗口或命令行,输入:

[root@thor root]# rpm -qa | grep openldap
openldap-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          {CRYPT}05T/JKDWO0SuI
directory /var/lib/ldap
index   objectClass,uid,uidNumber,gidNumber,memberUid   eq
index   cn,mail,surname,givenname                       eq,subinitial


保护 rootdn

rootdn 项控制谁可以对目录数据库进行写操作,以及他们要这样做所必须提供的密码。请确保阅读“访问控制”一章结束部分的注释:

# if no access controls are present, the default is:
#       Allow read by all
#
# rootdn can always write!

rootdn can always write!”(rootdn 总是可以写!)的意思正如它所表示的那样。您在rootdn 项的 cn=部分填充的任何项都是对数据库有完全读/写访问权的用户。另外,缺省配置文件使用“secret”作为密码,它以明文形式发送。如果只能从装了防火墙与外界隔离的内部网访问您的 LDAP 服务器,并且确信将访问 LDAP 服务器的用户不知道有关信息包嗅探的任何事情,您大概可以以明文形式安全地发送rootdn 密码(只要确保将密码“secret”稍加修改,使之不易被猜出)。但是,如果您打算存储在目录中的数据只有一点点机密性,则对密码进行散列处理。可以用slappasswd 实用程序完成它,如下所示:

[root@thor root]# slappasswd -h {crypt}
                

该程序将要求您输入密码,然后 slappasswd 将给出与所提供的项相对应的 crypt 字符串。将该字符串剪切并粘贴到slapd.conf,如上一页所示。其它散列选项包含 SSHA(缺省值)、SMD5、MD5 和 SHA。输入 man slappasswd,以获取更多信息。


测试服务器

现在是测试服务器的好时机了。这里的配置相对比较简单也容易对可能出现的问题进行故障诊断。在 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 以及它们做些什么的说明。


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 用户可以读写外。其他用户都只读

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要为Ambari Hive配置LDAP认证,您需要完成以下步骤: 1. 在Ambari Hive服务器上安装必要的LDAP客户端软件包 2. 确保Ambari Hive服务器可以访问LDAP服务器 3. 在Ambari Hive配置文件中启用LDAP认证 4. 配置Ambari Hive LDAP属性,例如LDAP服务器地址,端口号,基本DN等 5. 测试LDAP认证是否正常工作 以下是更详细的说明: 1. 在Ambari Hive服务器上安装必要的LDAP客户端软件包 要使用LDAP认证,您需要在Ambari Hive服务器上安装相应的LDAP客户端软件包。例如,在CentOS上,您可以使用以下命令安装OpenLDAP客户端软件包: ``` yum install openldap-clients ``` 2. 确保Ambari Hive服务器可以访问LDAP服务器 确保Ambari Hive服务器可以通过网络连接到LDAP服务器,并获得必要的访问权限。您可以使用以下命令测试连接: ``` ldapsearch -h ldap_server_address -p ldap_server_port -D "ldap_user_dn" -w "ldap_user_password" -b "ldap_search_base" ``` 如果连接成功,您应该看到一些关于LDAP服务器的输出。 3. 在Ambari Hive配置文件中启用LDAP认证 在Ambari Hive配置文件(hive-site.xml)中启用LDAP认证。将以下属性添加到配置文件中: ``` hive.server2.authentication.ldap.enabled=true ``` 4. 配置Ambari Hive LDAP属性 在Ambari Hive配置文件(hive-site.xml)中配置LDAP属性。例如,以下是一些必要的属性: ``` hive.server2.authentication.ldap.url=ldap://ldap_server_address:ldap_server_port hive.server2.authentication.ldap.baseDN=ldap_base_dn hive.server2.authentication.ldap.Domain=ldap_domain hive.server2.authentication.ldap.userDNpattern=uid={0},ou=people,dc=example,dc=com ``` 请根据您的LDAP服务器设置适当的值。 5. 测试LDAP认证是否正常工作 重启Ambari Hive服务器并尝试使用LDAP用户登录。如果LDAP认证正常工作,您应该能够成功登录并使用Hive服务。 希望这可以帮助您配置Ambari Hive的LDAP认证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值