共计 4208 个字符,预计需要花费 11 分钟才能阅读完成。
一、前言
在企业的 IT 环境中,通常既有 Windows 也有 Unix/Linux 服务器,传统情况下,每一台机器有自己的帐号和密码,对用户和管理员来说,要记住自己在 N 台机器上的账号、密码密码是件超级麻烦和恶心的事情,因此我们需要一个集中的、支持异构系统的身份管理解决方案。
Win/Linux 的身份整合方案大多数人会想到 samba+winbind,但这是一个费力而效果不是很理想的方案,微软在 Windows 2003 R2 上集成了基于活动目录的 Identity Management for UNIX,该组件提供 Windows 域用户的 UNIX 账号属性,因此我们在 Linux 系统上不需要 winbind 就能实现域用户的 LDAP 身份验证了。
如果您想要基于 Linux 充当服务器其他 win/linux 机器充当客户端的方案,我暂时还不知道,但无论如何不建议使用 samba(PDC)+winbind。
在实施本方案前,请先了解什么是 LDAP,什么是 AD,什么是 ObjectClass,什么是 DN,知道 ldapsearch 的用法,了解这些有助于诊断在实施过程中遇到的问题。
二、Windows 2003 Server R2 安装与配置
在开始之前,需要注意一件事:从 windows 2003 Server R2 开始才有 Identity Management for UNIX。安装完 Windows 2003 R2 之后,必须给网卡配置一个静态 IP 和指定 DNS。接下来,我们需要配置域控制器和 AD, 打开 开始 -> 管理工具 -> 配置您的服务器向导
选择配置”域控制器 (Active Directory)“,接下一步
以上只是启用和配置了域控制器
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-01/111168p2.htm
第二步是安装 Active Directory Services,进入控制面板 -> 添加删除程序 -> 添加删除 Windows 组件,出现如下
把 Active Directory 服务打钩,接着出错提示,选择是,别管太多。
运行 Microsoft Identity Management for UNIX
选择 Password Synchronization 的属性
在出现的对话框中,把 UNIX to Computers that run on Windows 勾上,下面的 port Number 不改,一定要点 New Key。
还是在上述对话框中,选择 Configuration 标签,把最后一项,Enable Windows to NIS(AD) Password Sync 打钩。
以上是密码同步属性配置,第三步是创建域用户和组:
首先,需要把 Domain Users 用户组的 UNIX 账号属性打开
选择 UNIX Attributes 标签,选择 NIS Domain 为 myad,GID 为 10000
接下来我们才能创建一个可以打开 UNIX 属性的域用户
在本例中,创建的用户登录名为 helloworld
完成后,回去看 helloworld 的用户属性,能够看到标签页 UNIX Attributes
设置 helloworld 用户的 UNIX 账号属性
为了能让用户从客户端登录,必须重置密码,至此 Windows AD 端配置完成
一、前言
在企业的 IT 环境中,通常既有 Windows 也有 Unix/Linux 服务器,传统情况下,每一台机器有自己的帐号和密码,对用户和管理员来说,要记住自己在 N 台机器上的账号、密码密码是件超级麻烦和恶心的事情,因此我们需要一个集中的、支持异构系统的身份管理解决方案。
Win/Linux 的身份整合方案大多数人会想到 samba+winbind,但这是一个费力而效果不是很理想的方案,微软在 Windows 2003 R2 上集成了基于活动目录的 Identity Management for UNIX,该组件提供 Windows 域用户的 UNIX 账号属性,因此我们在 Linux 系统上不需要 winbind 就能实现域用户的 LDAP 身份验证了。
如果您想要基于 Linux 充当服务器其他 win/linux 机器充当客户端的方案,我暂时还不知道,但无论如何不建议使用 samba(PDC)+winbind。
在实施本方案前,请先了解什么是 LDAP,什么是 AD,什么是 ObjectClass,什么是 DN,知道 ldapsearch 的用法,了解这些有助于诊断在实施过程中遇到的问题。
二、Windows 2003 Server R2 安装与配置
在开始之前,需要注意一件事:从 windows 2003 Server R2 开始才有 Identity Management for UNIX。安装完 Windows 2003 R2 之后,必须给网卡配置一个静态 IP 和指定 DNS。接下来,我们需要配置域控制器和 AD, 打开 开始 -> 管理工具 -> 配置您的服务器向导
选择配置”域控制器 (Active Directory)“,接下一步
以上只是启用和配置了域控制器
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-01/111168p2.htm
三、Linux 客户端的配置与测试
1、RHEL 5.5 篇
(1) 首先确保如下有关 LDAP 的组件已经安装 (32bit 版的略有不同)
(2) 接下来,编辑 /etc/hosts 文件,加入 adserver.myad.com 的 IP 解析,或者也可以编辑 /etc/resolv.conf 文件指定 namesever 为 adserver.myad.com 的 IP 地址。
(3) 第三步,编辑 /etc/nsswitch.conf 文件,把 passwd,shadow,group 的查找指定如下图:
(4) 第四步,编辑 /etc/openldap/ldap.conf 文件,内容如下:
URI ldap://adserver.myad.com
BASE dc=myad,dc=com
(5) 第五步,编辑 /etc/ldap.conf 文件,在编辑之前,首先把自带的备份。新建的 /etc/ldap.conf 文件内容如下
为了安全起见,不使用 Administrator 来查询,而是创建一个 adbind 域用户,并加入 Domain User、Account Operator 组, 如果不加入 Account Operator 组,用 ldapsearch 查询 DN 无法获取 unixUserPassword 属性值。
上图中的 cn=adbind,cn=users,dc=myad,dc=com 是查询用户 / 组账号的 LDAP 用户 DN。
(6) 关闭 nscd 服务以避免信息缓存的影响
# chkconfig nscd off
# service nscd stop
(7) 验证是否已经成功配置 AD 域验证 UNIX/Linux 用户
执行如下命令:
[root@rhcs1 ~]# id helloworld
uid=10000(helloworld) gid=10000(Domain Users) groups=10000(Domain Users)
[root@rhcs1 ~]# getent group | grep ‘Domain Users’
Domain Users:*:10000:
如果能够看到账户和组的信息,说明身份能够获取,只是身份信息能够获取,我们还需要测试一下登录。在第一次登录之前,helloworld 在当前机器的家目录没有创建,其他没有登录的域用户也是一样,为了在第一次登录时自动创建家目录,需要配置一个文件 /etc/pam.d/system-auth,在末尾加上一行:
session optional pam_mkhomedir.so
现在首先测试 ssh 登录本地来验证 ssh 服务
接下来测试从本地键盘登录:
2、SLES 11 SP1 篇
(1) 检查 LDAP 组件是否已经安装
(2) 修改 /etc/pam.d/common-session,加入一行
session optional pam_mkhomedir.so
(3) 以下配置文件与 RHEL 5.5 的配置相同
/etc/nsswitch.conf
/etc/ldap.conf
/etc/openldap.conf
(4)SLES 11 SP1 的系统服务启动顺序有些问题,缺省先启动 dbus 再启动 network,这会造成一个阻塞:dbus 试图去查找 passwd,group 信息,而这时 nss_ldap 会因为 network 服务没有启动而一直不断尝试连接 AD 服务器,系统启动到 dbus 就会挂住。所以我们要分别到 /etc/init.d/rc3.d 和 /etc/init.d/rc5.d 下把 dbus,network 服务改成如下顺序:
lrwxrwxrwx 1 root root 10 Jul 20 03:54 S00network -> ../network
lrwxrwxrwx 1 root root 7 Jul 20 03:52 S01dbus -> ../dbus
lrwxrwxrwx 1 root root 7 Jul 20 03:56 K07dbus -> ../dbus
lrwxrwxrwx 1 root root 10 Jul 20 03:56 K08network -> ../network
(5)关闭 nscd 服务以避免信息缓存的影响
# chkconfig nscd off
# service nscd stop
(6)SLES 10 的配置方法同上
(7)SLES 9 的配置方法基本和 SLES 10/11 一样,但要修改两个文件成如下内容:
/etc/pam.d/login
/etc/pam.d/sshd
四、配置使用 web 修改域用户密码
Linux 客户端上的 passwd 命令还不能修改域用户的密码,因为域用户的密码会涉及三种加密方式:windows 系统密码,NTLM 密码,UNIX 密码。Windows 2003 R2 包含了修改域用户密码的 web 程序,以下是该程序的配置步骤。
1、安装远程管理组件,从控制面板 -> 添加删除程序 -> 添加 Windows 组件选择“应用程序服务器”,然后在详细信息里依次选择如下图组件:
2、打开 IIS 管理器
3、新建虚拟目录
4、输入虚拟目录的别名
5、输入虚拟目录的本地路径
6、查看虚拟目录的属性
7、启用默认内容文档
8、打开设置页面修改密码
更多 RedHat 相关信息见 RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-01/111168.htm