天天看點

RH423-10 跨平台的身份集中管理

 <b> 跨平台的身份集中管理</b>

一、環境

DNS Server(RHEL5.5): server1.example.com  192.168.32.31  

DC Server (w2k3):      w2k3.example.com    192.168.32.31

Samba Server (RHEL5.5):station3.example.com   192.168.32.33

Domain:example.com   192.168.32.0/24

二、域控制器w2k3的AD配置

1、 利用Active Directory安裝向導配置域

新域的域控制器—在新林中的域

新域的DNS全名:example.com 

域NetBIOS名:AD             

資料庫檔案夾:c:\windows\ntds

日志檔案夾:c:\windows\ntds

Sysvol檔案夾位置:c:\windows\sysvol

2、 建立域賬戶

管理使用者和計算機中建立使用者user1~user5

<a target="_blank" href="http://blog.51cto.com/attachment/201104/013137504.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201104/013149999.png"></a>

#使用者資訊

3、 安裝SFU35(Windows Service for Unix)

安裝:一切預設即可

三、samba配置

1、 和AD時間同步

[root@station3 ~]# ntpdate 192.168.32.41

27 Apr 01:09:41 ntpdate[2418]: adjust time server 192.168.32.41 offset 0.002424 sec

2、 安裝samba

[root@station3 ~]# yum install samba.i386

 [root@station3 ~]# yum install samba-client.i386

[root@station3 ~]# yum install samba-common.i386

3、 配置系統認證基于winbind,并加入域

[root@station3 ~]# authconfig-tui

<a target="_blank" href="http://blog.51cto.com/attachment/201104/013203256.png"></a>

#選擇基于winbind的使用者資訊和驗證

<a target="_blank" href="http://blog.51cto.com/attachment/201104/013213601.png"></a>

#安全模型:ADS

#域:AD 即域控制器的NetBIOS名

#域控制器:w2k3.example.com  (dns解析全名)

#ADS域:解析域

#模闆shell:/bin/bash  #建議選擇/bin/bash

加入域

[root@station3 ~]# <b>/usr/bin/net join -w AD -S w2k3.example.com -U Administrator</b>

<b></b>

Administrator's password:

Using short domain name -- AD

Joined 'STATION3' to realm 'EXAMPLE.COM'

或者

[root@station3 ~]# <b>net rpc join -w AD -S w2k3.example.com -U Administrator</b>

Password:

Joined domain AD.

4、 利用authconfig-tui加入winbind認證後,系統自動從AD中複制/etc/krb5.conf檔案。

[root@station3 ~]# vi /etc/krb5.conf

[logging]

 default = FILE:/var/log/krb5libs.log

 kdc = FILE:/var/log/krb5kdc.log

 admin_server = FILE:/var/log/kadmind.log

[libdefaults]

 default_realm = EXAMPLE.COM

 dns_lookup_realm = false

 dns_lookup_kdc = false

 ticket_lifetime = 24h

 forwardable = yes

[realms]

 EXAMPLE.COM = {

  kdc = kerberos.example.com:88

  admin_server = kerberos.example.com:749

  default_domain = example.com

  kdc = w2k3.example.com

 }

[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

#AD預設驗證是kerberos驗證,建立AD時,會自動建立KDC服務。

5、 配置windows到unix的賬戶映射

[root@station3 ~]# vi /etc/ldap.conf

host w2k3.example.com

base dc=example,dc=com

binddn cn=user1,cn=Users,dc=example,dc=com

bindpw redhat@123

ssl on                                 #為了安全必須開啟ssl

#綁定查詢賬戶為user1

# RFC 2307 (AD) mappings

nss_map_objectclass posixAccount user       #linux下posiAccount映射windows下user

nss_map_objectclass shadowAccount user

nss_map_attribute uid sAMAccountName

nss_map_attribute homeDirectory msSFU30homeDirectory  #家目錄映射

nss_map_attibute loginshell msSFU30loginshell            #shell映射

nss_map_objectclass posixGroup group                 

nss_map_attribute uidNumber msSFU30uidNumber

nss_map_attribute gidNumber msSFU30gidNumber

pam_login_attribute sAMAccountName                 #開啟AD認證機制

pam_filter objectclass=User

pam_password ad

6、 配置samba

workgroup = AD

   password server = w2k3.example.com

   realm = EXAMPLE.COM

   security = ads

   idmap uid = 16777216-33554431

   idmap gid = 16777216-33554431

   template shell = /bin/bash            #指定使用者登陸shell

#以上資訊時在利用authconfig-tui設定winbind認證時,自動生存的資訊。

   template homedir = /home/%U        #指定使用者家目錄

   winbind use default domain = true

   winbind enum users = yes

 winbind enum groups = yes

7、啟動相關服務并測試

[root@station3 ~]# service winbind restart

關閉 Winbind 服務:                                        [确定]

啟動 Winbind 服務:                                        [确定]

[root@station3 ~]# service smb start

啟動 SMB 服務:                                            [确定]

啟動 NMB 服務:                                            [确定]

[root@station3 ~]# getent passwd          #檢視使用者資訊

krbtgt:*:16777219:16777220:krbtgt:/home/AD/krbtgt:/home/krbtgt

user1:*:16777216:16777220:user1:/home/AD/user1:/home/user1

user2:*:16777220:16777220:user2:/home/AD/user2:/home/user2

user3:*:16777221:16777220:user3:/home/AD/user3:/home/user3

user4:*:16777222:16777220:user4:/home/AD/user4:/home/user4

user5:*:16777223:16777220:user5:/home/AD/user5:/home/use

#以上資訊表示認證成功

[root@station3 ~]# su - user1

su: warning: cannot change directory to /home/user1: 沒有那個檔案或目錄

-bash-3.2$

#利用 AD上的使用者user1登陸rhel5.5成功

[root@station3 ~]# <b>wbinfo –t </b>                  #測試samba與AD的信任關系

checking the trust secret via RPC calls succeeded

[root@station3 ~]# <b>wbinfo –u  </b>                #檢視域使用者的映射資訊

administrator

guest

krbtgt

user1

user2

user3

user4

user5

[root@station3 ~]# <b>wbinfo –g</b>                #檢視域組的映射資訊

BUILTIN\administrators

BUILTIN\users

domain computers

domain controllers

schema admins

enterprise admins

domain admins

domain users

domain guests

group policy creator owners

本文轉自netsword 51CTO部落格,原文連結:http://blog.51cto.com/netsword/554428