zoukankan      html  css  js  c++  java
  • 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:

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

        • 相关阅读:
          php基本语法之逻辑运算符
          HTML5实现端访问时禁止放大和缩小网页
          javascript simple MVC
          GIS开发离线地图应用-初识gis
          百度应用开发--日期大写转换
          ThinkPHP与EasyUI整合之三(searchbox):在datagrid中查询指定记录
          ThinkPHP与EasyUI整合之二(datagrid):删除多条记录
          面向对象----类和对象
          Java 基本语法----数组
          Java 基本语法----流程控制
        • 原文地址:https://www.cnblogs.com/cqubityj/p/3465290.html
        Copyright © 2011-2022 走看看