Solaris与Windows Active Directory集成

通过Solaris与Active Directory的集成,Solaris可以使用Windows 2003 R2/ 2008 Active Directory来进行用户登录验证。以下是简要配置过程。

需要说明的是,系统上最好配置NTP时间同步。当系统时间差异过大时会导致AD用户无法登录Solaris的问题。

测试环境

域控制器1: Windows 2003R2 SP2 Hostname = win2003r2dc1 IP Address = 10.0.22.20 Domain = test.local

域控制器2: Windows 2003R2 SP2 Hostname = win2003r2dc2 IP Address = 10.0.22.30 Domain = test.local

Solaris10客户端: Solaris10 U10 Hostname = solaris10 IP Address = 10.0.22.40

1. Win2003R2活动目录安装

1.1 域控制器1(win2003r2dc1)安装活动目录

击“开始”-“运行”,输入dcpromo。单击“确定”,弹出活动目录安装向导:

imageimage

点“下一步”

imageimage

选择“新域的域控制器”/“在新林中的域”

imageimage

选择“否,只在这台计算机上安装并配置DNS”/ 输入域名:test.local

imageimage

接受缺省值,点“下一步”

imageimage

接受缺省值/ 根据情况选择权限

imageimage

输入密码 / 选择“下一步”

imageimage

插入win 2003 r2安装光盘,按提示完成AD安装。

1.2 域控制器2(win2003r2dc1)安装活动目录

与域控制器安装配置活动目录类似,击“开始”-“运行”,输入dcpromo。单击“确定”,弹出活动目录安装向导:

imageimage

域控制器类型选择“现有域的额外域控制器”,然后会提示配置DNS客户端。

在 开始-> 控制面板->网络连接->本地连接->属性 处配置DNS,首选DNS:10.0.22.30备用DNS:10.0.22.20,然后回到Active Directory安装向导点 下一步。

imageimage

输入administrator及密码 / 输入域名test.local

imageimage

接受缺省值,

imageimage

输入密码,然后插入win2003r2安装光盘,直到Active Directory安装配置完成。

2. 安装配置DNS

2.1 安装DNS

域控制器1 在安装配置Active Directory时已经安装了DNS,下面需要在域控制器2上安装DNS。

在  开始->控制面板->添加删除程序->添加删除windows组件->网络服务->详细信息 中选择 DNS,然后插入window2003R2光盘安装DNS.

2.2 配置DNS

2.2.1  域控制器1(win2003r2dc1)上配置DNS

  • 在DNS上创建一个反向查找域

开始->控制面板->DNS 打开DNS操作界面,然后 反向查找区域->新建区域

imageimage

选择 主要区域,

imageimage

选择 至所有所有域控制器 / 输入网络ID 10.0.22

imageimage

选择 安全动态更新,完成反向域创建。

  • 配置DNS区域属性

在_msdcs.test.local, test.local, 10.0.22.x Subnet上修改属性如下:

imageimage

检查 常规属性/  增加名称服务器 win2003dc2.test.local

imageimage

在 区域复制/通知 中选择 在“名称服务器”选项卡中列出的服务器。

  • 配置DNS客户端

开始-> 控制面板->网络连接->本地连接->属性 处配置DNS,首选DNS:10.0.22.20, 备用DNS:10.0.22.30

    2.2.2 域控制器2(win2003r2dc2)上配置DNS

    正常情况下,DNS信息已经自动复制到域控制器2上。只需按照 2.2.1步骤2 修改区域属性即可。

    3. 安装Identity management for unix

    在域控制器1和域控制器2上安装Identity management for unix:

    开始->控制面板->添加删除程序->添加删除windows组件

    imageimage

    在Active Directory服务的详细信息中选择Identity Management for UNIX, 然后插入win2003r2安装光盘安装。

    4. Active Directory 配置

    以下操作只在域控制器1上操作即可。

    4.1 创建UnixServers组织单位

    在 Active Directory 用户和计算机 界面,test.local->新建->组织单位 UnixServers.

    4.2 UnixServers中创建Solaris客户端用户

    在UnixServers中创建以Solaris客户端主机名为用户名的用户。注意此处创建的是用户而不是计算机。

    test.local->UnixServer->新建->用户

    imageimage

    用户名 host-solaris主机名,输入密码 ERGpass01,选择 密码永不过期。

    4.3 创建Unix Users用户组

    test.local->Users->新建->组, 新建 Unix Users用户组,修改用户组Unix Attributes, NIS Domain: test, GID: 10001

    image

    4.4 创建Proxy用户

    test.local->Users->新建->用户,

    imageimage

    输入密码 Proxypass01,修改用户密码为永不过期。

    5. 为Solaris客户端创建kerberos keytab

    5.1安装windows server 2003 SP2 Support Tools

    从windows网站下载support tools,按提示安装。

    5.2创建kerberos keytab文件

    C:Program Files (x86)Support Tools>ktpass.exe -princ HOST/solaris10.test.local@TEST.LOCAL -mapuser TESThost-solaris10 -crypto DES-CBC-MD5 +DesOnly -pass ERGpass01 -ptype KRB5_NT_PRINCIPAL -out c:solaris10.keytab Targeting domain controller: win2003dc1.test.local Using legacy password setting method Successfully mapped HOST/solaris10.test.local to host-solaris10.

    Key created. Output keytab to c:solaris10.keytab: Keytab version: 0x502 keysize 63 HOST/solaris10.test.local@TEST.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 5 etype 0x3 (DES-CBC-MD5) keylength 8 (0x91bc01fd073d8fbc) Account host-solaris10 has been set for DES-only encryption.

    密码为创建Solaris主机用户时的密码:ERGpass01

    6. 配置Solaris10客户端

    6.1 配置DNS

    • /etc/resolv.conf文件
    root@solaris10 # more /etc/resolv.conf
    domain test.local
    search test.local
    nameserver 10.0.22.20
    nameserver 10.0.22.30
    • /etc/hosts文件
    root@solaris10 # more /etc/hosts
    #
    # Internet host table
    #
    ::1     localhost       
    127.0.0.1       localhost       
    10.0.22.40      solaris10.test.local    solaris10       loghost
    • /etc/defaultdomain
      root@solaris10 # more /etc/defaultdomain
      test.local

        6.2 配置Kerberos

        6.2.1 把5.2创建的keytab文件传输到Solaris客户端/etc/krb5目录下,并重命名为krb5.keytab.

        6.2.2修改/etc/krb5/krb5.conf文件

        root@solaris10 # more /etc/krb5/krb5.conf
        [libdefaults]
                default_realm = TEST.LOCAL
                dns_lookup_kdc = true
                verify_ap_req_nofail = false
        
        [realms]
                TEST.LOCAL = {
                kdc = win2003r2dc1.test.local
                kdc = win2003r2dc2.test.local
                admin_server = win2003r2dc1.test.local
                }
        
        [domain_realm]
                .test.local = TEST.LOCAL
        
        [logging]
                default = FILE:/var/krb5/kdc.log
                kdc = FILE:/var/krb5/kdc.log
                kdc_rotate = {
                period = 1d
                version = 10
                }
        
        [appdefaults]
                kinit = {
                renewable = true
                forwardable= true
                }

        6.3 配置LDAP Client

        6.3.1 初始化LDAP Client

        在Solaris Client上执行以下命令,红色部分根据实际配置修改。

        ldapclient manual 
        -a credentialLevel=proxy 
        -a authenticationMethod=simple 
        -a proxyDN=cn=ProxyUser,cn=Users,dc=test,dc=local 
        -a proxyPassword=Proxypass01 
        -a defaultSearchBase=dc=test,dc=local 
        -a domainName=test.local 
        -a "defaultServerList=10.0.22.20, 10.0.22.30" 
        -a attributeMap=group:userpassword=userPassword 
        -a attributeMap=group:memberuid=memberUid 
        -a attributeMap=group:gidnumber=gidNumber 
        -a attributeMap=passwd:gecos=cn 
        -a attributeMap=passwd:gidnumber=gidNumber 
        -a attributeMap=passwd:uidnumber=uidNumber 
        -a attributeMap=passwd:homedirectory=unixHomeDirectory 
        -a attributeMap=passwd:loginshell=loginShell 
        -a attributeMap=shadow:shadowflag=shadowFlag 
        -a attributeMap=shadow:userpassword=userPassword 
        -a objectClassMap=group:posixGroup=group 
        -a objectClassMap=passwd:posixAccount=user 
        -a objectClassMap=shadow:shadowAccount=user 
        -a serviceSearchDescriptor=passwd:dc=test,dc=local?sub 
        -a serviceSearchDescriptor=group:dc=test,dc=local?sub

        6.3.2 修改/etc/nsswitch.conf文件

        执行ldapclient manual命令时,系统会自动更新nsswitch.conf文件,将ldap加入到文件中。由于我们只用LDAP做用户验证,因此需要修改nsswitch.conf文件如下:

        root@solaris10 # cp /etc/nsswitch.files /etc/nsswitch.conf 修改/etc/nsswitch.conf: passwd: files ldap group: files ldap hosts: files dns ipnodes: files dns

        其它不变

        6.3.3 重启ldap client服务

        root@solaris10 # svcadm restart ldap/client

        6.4 配置PAM

        修改/etc/pam.conf文件如下:

        ......
        #
        # Default definitions for Authentication management
        # Used when service name is not explicitly mentioned for authentication
        #
        other   auth requisite          pam_authtok_get.so.1
        other   auth required           pam_dhkeys.so.1
        other   auth sufficient         pam_krb5.so.1
        other   auth required           pam_unix_cred.so.1
        other   auth required           pam_unix_auth.so.1
        ......
        #
        # Default definition for Account management
        # Used when service name is not explicitly mentioned for account management
        #
        other   account requisite       pam_roles.so.1
        other   account sufficient      pam_unix_account.so.1
        other   account required        pam_ldap.so.1
        ......

        6.5配置SSH

        此步骤是为了避免可能出现的配置LDAP后SSH登录慢的问题。

        在/etc/ssh/sshd_config文件中增加:
        LookupClientHostnames no
        
        然后重启SSH:
        # svcadm restart ssh

        7. 配置solaris11客户端

        Solaris11客户端配置与Solaris10配置相似。如未特殊说明,请参考Solaris10配置。

        7.1 配置网络相关参数

        IP地址:
        # netadm enable -p ncp DefaultFixed
        # ipadm create-ip net0
        # ipadm create-addr -T static -a 10.0.22.50/24 net0/v4
        
        defaultdomain:
        # domainname test.local
        
        defaultrouter:
        # route -p add default 10.0.22.253
        
        dns client:
        # svccfg -s svc:/network/dns/client setprop config/domain=test.local
        # svccfg -s svc:/network/dns/client setprop config/search=test.local
        # svccfg -s svc:/network/dns/client setprop config/nameserver=net_address:'(10.0.22.20 10.0.22.30)'
        # svcadm enable dns/client

        7.2 配置Kerberos

        与Solaris10完全相同

        7.3 配置LDAP Client

        与Solaris10不同之处在于执行ldapclient manual命令后,修改nsswitch的方法不同。Solaris11采用以下方式:

        svccfg -s svc:/system/name-service/switch delcust
        svccfg -s svc:/system/name-service/switch setprop config/host='"files dns"'
        svccfg -s svc:/system/name-service/switch setprop config/password='"files ldap"'
        svccfg -s svc:/system/name-service/switch setprop config/group='"files ldap"'
        svcadm refresh svc:/system/name-service/switch

        7.4 配置PAM

        Solaris11与Solaris10的PAM配置略有不同。在Solaris11上,缺省情况下/etc/pam.conf文件中已经没有任何配置信息,相关配置信息已经移到/etc/pam.d目录下,每个服务一个文件。但PAM配置信息仍然可以在/etc/pam.conf文件设置,Solaris11上PAM信息使用顺序是:

        /etc/pam.conf for <service> entries
         /etc/pam.d/<service>
        /etc/pam.conf for "other" entries
         /etc/pam.d/other

        Solaris11上可以通过修改/etc/pam.d/other文件配置PAM:

        # Default definitions for Authentication management
        # Used when service name is not explicitly mentioned for authentication
        #
        auth definitive         pam_user_policy.so.1
        auth requisite          pam_authtok_get.so.1
        auth required           pam_dhkeys.so.1
        auth sufficient         pam_krb5.so.1
        auth required           pam_unix_auth.so.1
        auth required           pam_unix_cred.so.1
        ......
        # Default definition for Account management
        # Used when service name is not explicitly mentioned for account management
        # pam_tsol_account(5) returns PAM_IGNORE if the system is not configured
        # with Trusted Extensions (TX) enabled.  In TX environments some PAM services
        # run in the Trusted Path where pam_tsol_account(5) isn't applicable so in
        # those cases, like gdm(1m) or xscreensaver(1), PAM stacks are delivered
        # in /etc/pam.d which exclude pam_tsol_account(5).  pam_tsol_account(5) does
        # need to run in the Trusted Path for ensuring remote hosts connecting to the
        # global zone have a CIPSO host type.
        #
        account requisite       pam_roles.so.1
        account definitive      pam_user_policy.so.1
        account sufficient      pam_unix_account.so.1
        account required        pam_tsol_account.so.1
        account required        pam_ldap.so.1

        8. 测试

        在域控制器1上建立一个用户,测试使用此用户登录Solaris系统。

        test.local->Users->新建->用户,

        imageimage

        输入用户密码,指定用户密码永不过期。

        image

        修改用户UNIX Attributes。

        如果配置正确,在AD中创建用户后,即可以以此用户登录Solaris客户端。

        测试LDAP client配置:

        root@solaris10 # getent passwd 
        jyu<BR>jyu:x:10000:10000:yujun:/export/home/jyu:/bin/bash
        测试Kerberos验证:

        root@solaris10 # kinit jyu

        Password for jyu@TEST.LOCAL:

        输入密码后,无任何输出即为成功。

        原文地址:https://www.cnblogs.com/cqubityj/p/3465290.html