Samba 加入 Windows 2008 網域

  Samba

所須檔案:

yum install samba
yum install krb5-server
yum install krb5-workstation
yum install samba-winbind

網域相關資訊

DC :
ip : 192.168.200.99
hosname : win2008-ad
網域 : masterdragon.com
網域管理者 : administrator
網域使用者 : eddie

有關 DC 主機查詢可下載 LDAPExplorer, 或於 Windows 下 nslookup 查詢

CentOS 6.4:
ip : 192.168.200.98
hostname : centos6

步驟 :

  1. 修改 /etc/sysconfig/network 檔案中的 HOSTNAME  為 centos6
     
  2. 修改  /etc/samba/smb.conf (直接在global部分新增即可)
    workgroup = MASTERDRAGON (大寫)
    server string = My File Server (描述)
    realm = MASTERDRAGON.COM (完整網域名稱)
    netbios name =centos6 (Linux 主機名稱)
    security = ads  ( 設定為ads 表示帳號認證交給DC)
    password server = win2008-ad.masterdragon.com (密碼伺服器指的就是DC主機)
    encrypt passwords = yes (編碼方式傳遞密碼)
    idmap uid = 16777000-33550000 (修改 UID 與 GID 的範圍及目錄)
    idmap gid = 16777000-33550000
    winbind enum users = yes
    winbind enum groups = yes
    winbind separator = + (可以不加, 用 testparam 會報錯)
    winbind use default domain = yes
    template shell = /bin/bash (指定 AD 帳號的 Shell)
    template homedir =  /home/%D/%U (%D 網域名稱,%U 帳號)
     
  3. 修改 /etc/hosts 檔案
    加入下列這行 (DNS 有解的話, 不加也行)
    192.168.200.99          win2008-ad.masterdragon.com masterdragon.com
     
  4. 修該kerberos 檔案  /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 = MASTERDRAGON.COM
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true

    [realms]
    MASTERDRAGON.COM = {
    kdc = WIN2008-AD.MASTERDRAGON.COM
      admin_server = WIN2008-AD.MASTERDRAGON.COM
      default_domain = MASTERDRAGON.COM
    }
    [domain_realm]
    .example.com = MASTERDRAGON.COM
    example.com = MASTERDRAGON.COM
     

  5. 修改  /var/kerberos/krb5kdc/kdc.conf (黑色粗體字改成 網域名稱)
    [kdcdefaults]
    kdc_ports = 88
    kdc_tcp_ports = 88

     

     

    [realms]
    MASTERDRAGON.COM= {
    #master_key_type = aes256-cts
    acl_file = /var/kerberos/krb5kdc/kadm5.acl
    dict_file = /usr/share/dict/words
    admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
    supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
    }
     

  6. 將samba 服務啟動,並設定開機自動啟動該服務
    # service smb start
    # chkconfig smb on
     
  7. 測試連線指令如下
    # kinit eddie@MASTERDRAGON.COM
    (eddie 是網域帳號, 網域MASTERDRAGON.COM 一定要大寫)
    下完此指令後會要輸入密碼,正確就直接回到命令提示字元
     
  8. 將linux 主機加入網域 指令如下
    # net rpc join -U eddie
    ex.
    ===========================================
    [root@mail-gx ~]# net rpc join -U eddie
    Enter eddie’s password:
    Joined domain MASTERDRAGON.
    ===========================================
    上述即將centos 加入網域
    若加入網域時出現下列訊息應該是防火牆問題
    先關閉iptables 後就可以加入網域了
    ===========================================
    [root@mail-gx ~]# net rpc join -U eddie
    Unable to find a suitable server for domain PMAIL
    Unable to find a suitable server for domain PMAIL
    ===========================================
    PS.或以下方式加入Domain
    net ads join -S MASTERDRAGON.COM -U eddie
    or
    net rpc join -S MASTERDRAGON.COM -U eddie
    or
    net ads join -U eddie@MASTERDRAGON.COM
    or
    net rpc join -U eddie@MASTERDRAGON.COM

     

    PS2. 同步時間, 必須與 Domain Server 的時間差不超過 5分鐘
     

  9. 檢查
    使用 net rpc testjoin wbinfo -t
    ===========================================
    # net rpc testjoin
    Unable to find a suitable server for domain MASTERDRAGON

     

    # wbinfo -t
    checking the trust secret for domain MASTERDRAGON via RPC calls succeeded
    ===========================================


    或下載 LDAPExplorerTool 2 (http://sourceforge.net/projects/ldaptool/files/ldaptool/ldaptool-2.0.1/)

     

  10. 利用winbind 服務取得ad帳號
    執行authconfig-tui  並將 Use Winbind 與 Use Winbind Authentication  勾選

     
  11. 修改 vim /etc/nsswitch.conf
    ============================
    passwd:    files    winbind
    group:       files    winbind
    shadow:    files   winbind
    ============================
     
  12. 將winbind 服務啟動,並設定開機自動啟動該服務
    # service winbind start
    # chkconfig winbind on
     
  13. 取的 AD 帳號指令(確認 Server 的帳號是否有同步到本地)
    # wbinfo -u
    ex.
    ============================
    [root@centos6 ~]# wbinfo -u
    administrator
    guest
    krbtgt
    eddie
    [root@centos6 ~]#
    ============================

    # getent passwd
     
  14. 設定本機 UID 與 GID 發放範圍,避免 AD 帳號與 Linux 本機帳號衝突
    # nano /etc/login.defs
    UID_MIN 500
    UID_MAX 9999 <- 改為9999GID_MIN 500
    GID_MAX 9999 <- 改為9999
     
  15. 整合 Samba 分享目錄設定
    修改 /etc/samba/smb.conf
    =====================================
    [Share]
    comment = Linux Share <- 目錄描述
    path = /tmp <- 分享路徑
    valid users = masterdragon\eddie <- 允許的使用者,格式為 網域\帳號
    public = yes  <- 是否公開
    writable = yes  <- 是否可寫入
    =====================================
     
  16. 重啟 Samba
    # service smb restart
     
  17. OK~~~
     
  18. 相關指令
    net ads info //查询AD域基本资料
    net getdomainsid //查询AD域ID号码

     

     

參考資料

CentOS-6.3 加入Windows 2008 R2 網域
http://blog.pmail.idv.tw/?p=3296

Samba 架設 File Server與 AD 整合
http://tech-x.338hk.com/index.php?option=com_content&view=article&id=93:samba–file-server-ad-&catid=42:samba&Itemid=74

Linux 加入域的最终完整版修改
http://mufan.blog.51cto.com/884413/1318937