Linux fedora core 2 加入windows 2000/2003網域
 Linux fedora core 2 side
 [1.] install samba
 
 [2.] vi /etc/samba/smb.conf
[global]
      workgroup = 123                                            # 網域名稱
      realm = 123.com                                             # 完整網域名稱
      server string = samba server-linux                 # linux samba主機描述   
      netbios name = linux samba host name         # linux samba主機名稱
      security = ads                                                 # 安全等級為ads,帳號認證交由ad
      password server = windows2003.123.com    # 指定密碼ad domain server
      encrypt passwords = yes                               # 編碼方式傳遞密碼
[3.] vi /etc/hosts
10.10.10.123 windows2003.123.com windows2003
[4.] vi /etc/krb5.conf (如果沒有則安裝 krb5-server)
# AD是採kerberos認證機制,所以設定samba主機的kerberos與ad能溝通 ,注意大寫
[libdefaults]
      default_realm = WINDOWS2003.123.COM
 [realms]
      123.COM = {
      kdc = WINDOWS2003.123.COM:88
      admin_server = WINDOWS2003.123.COM:749
      default_domain = 123.COM
 [domain_realm]
      .example.com = 123.COM
      example.com = 123.COM
[5.] vi /var/Kerberos/krb5kdc/kdc.conf
[realm]
      123.COM = {
 ..
 .
[6.] 測試連線
 
       install krb5-workstation
 
       kinit administrator@123.COM
 
       (注意大寫),輸入密碼無誤後,跳回提示字元
 
 [Q1:] kinit(v5) : cannot find KDC for requested realm while getting initial credentials
 [A1:] 網域名稱沒有大寫
 
 [Q2:] kinit(v5) : clock skew too great while getting initial credentials
 [A2:] samba與windows2003系統時間相差不可超過5分鐘
 
 [Q3:] kinit(v5) : preauthentication failed while getting initial credentials
 [A3:] 管理者密碼不對
  
 [10.] service smb restart
  
 [11.] net ads join
 
    加入網域,出現成功訊息為Joined ‘sambahost’ to realm ‘123.com’,
    此時可在windows2003 server上的AD使用者及電腦上的computers看到sambahost的名稱
  
 讓Linux認證windows AD網域帳號
 [1.] apt-get install samba   
 
    已包含winbind,winbind 即用來做Linux認證 windows 的AD
  
 [2.] 檢查nss library
          ldconfig –v | grep winbind
 
       顯示 libnss_winbind.so -> libnss_winbind.so.2
  
 [3.] vi /etc/nsswitch.conf
passwd:  files   winbind
 group:    files    winbind
[4.] vi /etc/samba/smb.conf
[global]
      idmap uid = 10000-20000
      idmap gid = 10000-20000                              #設定ad網域帳號的uid、gid使用範圍
      winbind separator = +                                     #網域與帳號之間分隔符號,預設為‘ \‘
      winbind use default domain = yes                  #不顯示網域名稱
      template homedir = /home/winnt/%D/%U      #使用者家目錄,D->domain,U->user
      template shell = /bin/bash
[5.] service winbind restart
  
 [6.] 取得AD帳號,執行 wbinfo -u
  
 [7.] 取得本機與ad的帳號,執行getent passwd
 
 [8.] net ads info
  
 [9.] net ads status -U Administrator%123456
  
 [10.] 解決本機與winbind分配給ad的uid與gid可能相衝的問題,把本機的uid與gid限制在9999之內
          vi /etc/login.defs
UID_MAX 9999
 GID_MAX 9999
 Linux 中各種服務的帳號整合
 [1.] 確定winbind library,執行 locate /pam_ |egrep ‘.so$’
/lib/security/pam_winbind.so
[2.] 建立使用者家目錄的scripts,用來存取AD上的帳號,進而於linux上建立家目錄
          vi mk2003home.awk
#!/bin/awk
  
 BEGIN {
  
 FS=":"
  
 uidmin=10000
 uidmax=20000
  
 }
  
 {
        if ( $3 >= uidmin && $3 <= uidmax ) {
                  print "\nmake directory " $6 "\nchown " $3 "." $4 " " $6
                  system( "mkdir -p " $6 ";chown " $3 "." $4 " " $6 )
        }
 }
[3.] 執行方式
          getent passwd | awk –f mk2003home.awk
  
 [4.] vi /etc/pam.d/system-auth
# 加入
 auth           sufficient    pam_winbind.so
 account      sufficient    pam_winbind.so
 password   sufficient    pam_winbind.so
 session       sufficient    pam_winbind.so
注意:
 當從console登入時,名稱是打上domainname\username,再來是密碼。
 或者在smb.conf設定檔中設定winbind use default domain = yes,那名稱就不需要加個domainname。
  
 以下尚未測式
 Apache認證網域使用者
 [a.] 下載
http://pam.sourceforge.net/mod_auth_pam/dist/mod_auth_pam-2.0-1.1.1.tar.gz
 
 [b.] 編譯mod_auth_pam前先安裝httpd-devel,apr-devel,apr-util-devel三套件
 
 [c.] tar zxvf xxx ; cd mod_auth_pam ; make ; make install
 
 [d.] vi /etc/pam.d/httpd
          (加入項目同上)
 
 [e.] 讓apache 啟動時載入mod_auth_pam
          vi /etc/httpd/conf/httpd.conf
# 加入
 LoadModule auth_pam_module modules/mod_auth_pam.so
[f.] service httpd restart
 [g.] 於需要認證的目錄內,此為使用網域的帳號來認證
          vi .htaccess
AuthType Basic
 AuthType “secure area”
 Require valid-user
[h.] 允許使用.htaccess檔案認證使用者
          vi /etc/httpd/conf/httpd.conf
AllowOverride AuthConfig (or All)
[i.] 使apache認證本機使用者
          groupadd shadow_readers ; chgrp shadow_readers /etc/shadow ; chmod g+r /etc/shadow
      
       vi /etc/httpd/conf/httpd.conf
Group shadow_readers
[j.] service httpd restart
  
 [5.] Proxy(squid)認證AD
       a. vi /etc/pam.d/squid
#%PAM-1.0
 auth       sufficient     /lib/security/pam_winbind.so
 auth       required      pam_stack.so service =system-auth
 account  sufficient    /lib/security/pam_winbind.so
 account  required     pam_stack.so service=system-auth
      b. vi /etc/squid/squid.conf
# 加入
 auth_parm basic program /usr/lib/squid/pam_auth
 acl PASSWORD proxy_auth REQUIRED                    # 建立一名為PASSWORD的存取清單
                                                                                # 必須通過密碼認證的使用者才能列入
                                                                                # 此清單,並所有使用者皆需認證
 
 http_access allow PASSWORD #設定允許PASSWORD存取清單中的
                                                                                         # 使用者進行連線
      c. squid認本機
             groupadd shadow_readers ; chgrp shadow_readers /etc/shadow ; chmod g+r /etc/shadow
             vi /etc/squid/squid.conf
# 加入
cache_effective_group shadow_readers
      d. service squid restart
原文出處:LDAP + WIndows AD + winbind - Service -