将Linux主机加入Windows域
2012-06-28 TsengYia#126.com http://tsengyia.blog.chinaunix.net/
##############################################################################
系统环境:
客户机:RHEL 6.2 [2.6.32-220.el6.i686]
主机名:server6.example.com
IP地址:192.168.4.6/24
域控制器、DNS服务器:Windows Server 2008 R2企业版
主机名:w2k8.example.com
IP地址:192.168.4.2/24
主机名:w2k8.example.com
IP地址:192.168.4.2/24
软件环境:
krb5-libs-1.9-22.el6.i686
samba-winbind-3.5.10-114.el6.i686
samba-common-3.5.10-114.el6.i686
##############################################################################
一、域控制器的调整
正常搭建即可,域功能级别为 Windows Server 2008 R2 ,基本不需做什么调整。
安装Active Directory域服务、DNS服务这两个角色,若需要将域控制器集成到现有的Unix环境,可以为活动目录添加角色服务“Unix标识管理”。
添加一个域用户做测试,例如 [email protected] ,设置好密码。
krb5-libs-1.9-22.el6.i686
samba-winbind-3.5.10-114.el6.i686
samba-common-3.5.10-114.el6.i686
##############################################################################
一、域控制器的调整
正常搭建即可,域功能级别为 Windows Server 2008 R2 ,基本不需做什么调整。
安装Active Directory域服务、DNS服务这两个角色,若需要将域控制器集成到现有的Unix环境,可以为活动目录添加角色服务“Unix标识管理”。
添加一个域用户做测试,例如 [email protected] ,设置好密码。
二、Linux客户机的调整
如果客户机运行在X图形环境,可以使用可视化配置工具 system-config-authentification 来完成加域操作(用户信息选Winbind,验证选Winbind、Kerberos)。在这种情况下,下面的1、2、3步骤基本都无需设置,但当加域不成功或者加域成功但登录不成功时,可以依据下列细节进行确认、排错。
1. 调整smb.conf配置文件
[root@server6 ~]# vim /etc/samba/smb.conf
[global]
workgroup = example //短域名(NetBIOS名称)
server string = Samba Server Version $v
security = ads //安全级别采用ads
passdb backend = tdbsam
realm = example.com //本地领域名称(与域名一致)
password server = w2k8.example.com //域控制器的地址
idmap uid = 10000-30000
idmap gid = 10000-30000
winbind use default domain = yes //允许使用默认域环境
winbind enum users = yes //允许查询域用户
winbind enum groups = yes
winbind offline login = yes //允许离线登录
template shell = /bin/bash
template homedir = /home/%U
winbind separator = /
... ...
[root@server6 ~]# vim /etc/samba/smb.conf
[global]
workgroup = example //短域名(NetBIOS名称)
server string = Samba Server Version $v
security = ads //安全级别采用ads
passdb backend = tdbsam
realm = example.com //本地领域名称(与域名一致)
password server = w2k8.example.com //域控制器的地址
idmap uid = 10000-30000
idmap gid = 10000-30000
winbind use default domain = yes //允许使用默认域环境
winbind enum users = yes //允许查询域用户
winbind enum groups = yes
winbind offline login = yes //允许离线登录
template shell = /bin/bash
template homedir = /home/%U
winbind separator = /
... ...
2. 调整krb5.conf配置文件
[root@server6 ~]# vim /etc/krb5.conf
... ...
[realms]
EXAMPLE.COM = {
kdc = w2k8.example.com //Kerberos认证中心(域控制器)
admin_server = w2k8.example.com //Kerberos管理中心(域控制器)
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM //默认领域
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
validate = true //允许有效性验证
}
[root@server6 ~]# vim /etc/krb5.conf
... ...
[realms]
EXAMPLE.COM = {
kdc = w2k8.example.com //Kerberos认证中心(域控制器)
admin_server = w2k8.example.com //Kerberos管理中心(域控制器)
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM //默认领域
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
validate = true //允许有效性验证
}
3. 调整PAM认证设置,添加对Kerberos认证、Winbind认证的支持
[root@server6 ~]# vim /etc/pam.d/system-auth
#%PAM-1.0
... ...
auth sufficient pam_krb5.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
... ...
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
... ...
password sufficient pam_krb5.so use_authtok
password sufficient pam_winbind.so use_authtok
... ...
session optional pam_krb5.so
session required pam_mkhomedir.so silent skel=/etc/skel umask=0077
[root@server6 ~]# vim /etc/pam.d/system-auth
#%PAM-1.0
... ...
auth sufficient pam_krb5.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
... ...
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
... ...
password sufficient pam_krb5.so use_authtok
password sufficient pam_winbind.so use_authtok
... ...
session optional pam_krb5.so
session required pam_mkhomedir.so silent skel=/etc/skel umask=0077
//登录时能够自动建宿主目录
三、将Linux客户机加入域,并进行验证
1. 使用net ads join加入域
[root@server6 ~]# net ads join -U administrator
Enter administrator's password:
Using short domain name -- EXAMPLE
Joined 'SERVER6' to realm 'example.com'
[root@server6 ~]# service winbind restart
[root@server6 ~]# chkconfig winbind on
[root@server6 ~]# net ads join -U administrator
Enter administrator's password:
Using short domain name -- EXAMPLE
Joined 'SERVER6' to realm 'example.com'
[root@server6 ~]# service winbind restart
[root@server6 ~]# chkconfig winbind on
2. 检查加入域是否成功
[root@server6 ~]# wbinfo -t //查看状态
checking the trust secret for domain EXAMPLE via RPC calls successed
[root@server6 ~]# ntlm_auth --username=tsengyia //以指定的域用户做验证测试
password:
NT_STATUS_OK: Success (0x0)
[root@server6 ~]# wbinfo -t //查看状态
checking the trust secret for domain EXAMPLE via RPC calls successed
[root@server6 ~]# ntlm_auth --username=tsengyia //以指定的域用户做验证测试
password:
NT_STATUS_OK: Success (0x0)
3. 获取域用户列表
[root@server6 ~]# wbinfo -u
administrator
guest
krbtgt
tsengyia
... ...
[root@server6 ~]# wbinfo -u
administrator
guest
krbtgt
tsengyia
... ...
4. 在客户机上能够以域用户登入
login: tsengyia
Password:
No directory /home/EXAMPLE/tsengyia! //因为并未设置宿主目录漫游,所以有此提示
Logging in with home = "/"
-bash-4.1$ //密码验证无误即可登入
-- 关于补充的自动建家目录配置,等抽空再验证
login: tsengyia
Password:
No directory /home/EXAMPLE/tsengyia! //因为并未设置宿主目录漫游,所以有此提示
Logging in with home = "/"
-bash-4.1$ //密码验证无误即可登入
-- 关于补充的自动建家目录配置,等抽空再验证
##############################################################################