我们在实验室中设置了 LDAP 和 NFS。实验室有16台机器和一台服务器。所有 LDAP 用户主目录都存在于服务器中。每当 LDAP 用户从 16 台计算机中的任何一台登录时,他的主页都会通过 NFS 自动挂载从客户端计算机中的服务器显示。
在所有客户端计算机中,我们安装了 virtualbox 并创建了一个组vbox用户其中包含所有 LDAP 用户。因此,每当 LDAP 用户登录任何客户端计算机并运行 Virtual Box 时,他就可以使用 Virtual Box。
但是,在全新安装 RHEL 和 VirtualBox 后的其中一台计算机中,当我以 LDAP 用户身份运行 VirtualBox 时,我收到“来宾操作系统无法访问“错误。我认为这可能是一些权限问题,因此,我将权限重置为vbox用户在那台机器里。
然而,经过进一步调查,我们发现 LDAP 用户实际上并未分配到该组”vbox用户“而不是其他组。这怎么可能,因为我从实验室的工作机器复制了 LDAP 和 NFS 配置文件,并在新安装的机器中使用了相同的文件?
编辑:
ldap.conf 内容
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example, dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
URI ldap://192.168.1.10/
BASE dc=xxx,dc=xxx
#TLS_CACERTDIR /etc/openldap/cacerts
答案1
How can this be possible, as I copied the LDAP and NFS configuration
files from the working machines in the lab and used the same files in
the newly installed machine?
据我了解,您的实验室需要相同的 LDAP 服务器设置,因此我们需要导出主 LDAP 服务器数据库,然后导入新的 LDAP 服务器。如果我是正确的那么你可以按照这个设置。
安装
注:本指南基于RHEL5.x/CentOS 5.x
使用以下命令安装 OpenLDAP 软件包:
yum install openldap
配置服务器,编辑/etc/openldap/slapd.conf
,您可以配置与您的主服务器相同的设置
database bdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw secrete # or you can use encrypted pass using slappasswd
复制所需文件
install -o ldap -g ldap /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
在主服务器上,将所有详细信息导出到 LDIF 文件中。
slapcat -l master.ldif
复制master.ldif
到新的 LDAP 服务器。
现在在您的新 LDAP 服务器上。
要将文件 master.ldif 中指定的条目导入到 LDAP 数据库中,请输入以下命令:
slapadd -l ldif
现在使用以下命令启动 LDAP 服务:
/etc/init.d/ldap start
在客户端计算机上:在 HOME 上安装 NFS,在以下位置添加所需条目/etc/fstab
然后使用以下命令启用 LDAP 身份验证:
authconfig --enableldap --enableldapauth --ldapserver=NEW_LDAPSERVER_IP --
ldapbasedn="dc=example,dc=com" –update
故障排除
默认情况下 ldap 日志被禁用,您可以使用以下命令在 LDAP 服务器上启用 LDAP 日志:
编辑 /etc/syslog.conf
local4.* /var/log/ldap.log
一旦重启syslog
服务
/etc/init.d/syslog restart
答案2
这是由于分配了不正确的组 ID 造成的。当系统新安装时,系统任意将组ID 501分配给另一个组。
在实验室的所有剩余机器中,我们将组 ID 501 分配给vbox用户。这就是 LDAP 用户无法访问该特定计算机中的 VirtualBox 的原因。