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 "
make directory " $6 "
chown " $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登入時,名稱是打上domainnameusername,再來是密碼。
或者在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

Related posts 相關文章
驗證 AD ldap
More...
打擊 google youtube 看廣告的作法
More...
gitlab 出現 cannot unblock ldap blocked users 問題
More...
微軟用了很多錢買了 corp.com 網域
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。