茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1675534 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_0007.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2010/6/3 15:33:50
使用samba將linux主機加入AD域(一)研究了2個星期的一點小成,寫出來供大家分享。所有功能都在as3下調試通過。為了圖方便,as3採用默認安裝。

在研究中經常看到下面這些東東,還是先瞭解下理論依據
PDC:主域控制器,一般用來做驗證
BDC:備份域控制器,一般用於和主域做同步帳號等操作
KDC:密鑰分發中心,說白了,就是kerbrose服務器。這個需要對kerbrose有一定的瞭解,這裡不多說了
PAM:可插拔認證模塊,這玩意就是使用不同的驗證方法來驗證你所需要的服務,比如sshd,login,ftp等。這些服務都對應一個配置文件,這個配置文件位於/etc/pam.d/下。而支持這些驗證的動態庫位於/lib/security/下。
SRV:服務器定位資源記錄,要使活動目錄正常工作,DNS必須支持SRV。活動目錄客戶端和域控制器使用SRV記錄決定域控制器的ip地址,具體請參見http://www.cnblogs.com/LCX/archive/2007/02/05/640843.html

下面言歸正傳,介紹如何將samba服務器加入到AD域中
(1)配置/etc/samba/smb.conf
workgroup = LIZL # 你要加入的域,比如你AD上建的域叫LIZL.COM,這裡只需省略填入即可
# winbind
   netbios name = leeldap        #你的linux機器名,samba服務器
   idmap uid    = 15000-20000
   idmap gid    = 15000-20000
   winbind enum groups = yes
   winbind enum users  = yes
   winbind separator   = /
;  winbind use default domain = yes
   template homedir = /home/%D/%U
   template shell   = /bin/bash
   security = domain
   password server = 192.168.115.128 #這裡是你的安裝ad的機器的ip
   encrypt passwords = yes
    hosts allow = 192.168.1. 192.168.2. 127. 192.168.115.
[homes]
   comment = Home Directories
   path = /home/%D/%U
   browseable = no
   writable = yes
   valid users = %D/%U    #這裡記得把域名帶上,否則你用ad帳號訪問samba服務器時輸入正確的ad帳號和密碼仍然不能訪問共享目錄
   create mode = 0777
   directory mode = 0777

(2)配置/etc/nsswitch.conf
passwd:     files winbind
shadow:     files
group:      files winbind

(3)啟用samba和winbind服務。
 service smb reload   #加這一句是用來解決有時候samba啟動不了的問題
  service smb start
  service winbind start

(4)使用net加入AD域
[root@leeldap pam.d]# net rpc join -S lee -U administrator
Password:
Joined domain LIZL.

(5)測試是否加入成功
[root@leeldap pam.d]# net rpc testjoin
Join to 'LIZL' is OK
[root@leeldap pam.d]# wbinfo -t
checking the trust secret via RPC calls succeeded
[root@leeldap pam.d]# wbinfo -u
LIZL/Administrator
LIZL/brown
LIZL/bruce
LIZL/Guest
LIZL/jet
LIZL/krbtgt
LIZL/lee
LIZL/lili
LIZL/lizl
LIZL/samba
LIZL/SUPPORT_388945a0
LIZL/test
[root@leeldap pam.d]# wbinfo -g
BUILTIN/System Operators
BUILTIN/Replicators
BUILTIN/Guests
BUILTIN/Power Users
BUILTIN/Print Operators
BUILTIN/Administrators
BUILTIN/Account Operators
BUILTIN/Backup Operators
BUILTIN/Users
[root@leeldap pam.d]# getent passwd
root:x:0:0:root:/root:/bin/bash
。。。。。。。
LIZL/administrator:x:15000:15000::/home/LIZL/administrator:/bin/bash
LIZL/brown:x:15001:15000:Brown Lee:/home/LIZL/brown:/bin/bash
LIZL/bruce:x:15002:15000:Bruce Lee:/home/LIZL/bruce:/bin/bash
LIZL/guest:x:15003:15000::/home/LIZL/guest:/bin/bash
LIZL/jet:x:15004:15000:Jet Chen:/home/LIZL/jet:/bin/bash
LIZL/krbtgt:x:15005:15000::/home/LIZL/krbtgt:/bin/bash
LIZL/lee:x:15006:15000:Jackie Lee:/home/LIZL/lee:/bin/bash
LIZL/lili:x:15007:15000:lily:/home/LIZL/lili:/bin/bash
LIZL/lizl:x:15008:15000:lizhili:/home/LIZL/lizl:/bin/bash
LIZL/samba:x:15013:15000:samba:/home/LIZL/samba:/bin/bash
LIZL/support_388945a0:x:15009:15000:CN=Microsoft Corporation,L=Redmond,S=Washington,C=US:/home/LIZL/support_388945a0:/bin/bash
LIZL/test:x:15014:15000:test:/home/LIZL/test:/bin/bash
[root@leeldap pam.d]# getent group
root:x:0:root
。。。。。
BUILTIN/System Operators:x:15009:
BUILTIN/Replicators:x:15010:
BUILTIN/Guests:x:15011:
BUILTIN/Power Users:x:15012:
BUILTIN/Print Operators:x:15013:
BUILTIN/Administrators:x:15014:
BUILTIN/Account Operators:x:15015:
BUILTIN/Backup Operators:x:15016:
BUILTIN/Users:x:15017:

(5) 現在可以到ad機器上的活動目錄中可以看到該機器了

接下來介紹加入AD域後的一個簡單應用,要不就不知道這樣加有啥子用了。既然samba服務器已經加入AD域中,那自然會想到,window域中的本地帳號是否能訪問linux機器呢?答案是肯定的。這就是winbind的作用了,當window域中的本地帳號需要登錄linux主機時,winbind服務去ad服務器去驗證該帳號是否合法,而不是到linux本地的/etc/passwd中去驗證,當然如果要用不同的驗證方式,就可以用pam去進行複雜的設定.
(1)確保/etc/samba/smb.conf中配置了passwd server選項,這個折磨過我2天,一定要切記
(2)配置system-auth
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/$ISA/pam_winbind.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so

account     required      /lib/security/$ISA/pam_unix.so broken_shadow
account     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_winbind.so
account     required     /lib/security/$ISA/pam_permit.so

password    required      /lib/security/$ISA/pam_cracklib.so retry=3
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/$ISA/pam_winbind.so use_authok
password    required      /lib/security/$ISA/pam_deny.so

session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so

(3)配置sshd,使用ad帳號登錄時,自動創建/home/LIZL/ad帳號目錄
auth       sufficient   /lib/security/pam_winbind.so
auth       required     /lib/security/pam_stack.so service=system-auth
auth       required     /lib/security/pam_nologin.so
account    sufficient   /lib/security/pam_winbind.so
account    required     /lib/security/pam_stack.so service=system-auth
password   required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_limits.so
session    required     /lib/security/pam_mkhomedir.so
session    optional     /lib/security/pam_console.so

(4)順便配置下samba這個pam
#auth       required    pam_nologin.so
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
#session    required    pam_stack.so service=system-auth
#session    required     pam_mkhomedir.so skel=/etc/skel umask=0022
#password   required    pam_stack.so service=system-auth


好了,接下來享受下用ad帳號登錄linux主機的快樂吧。。如果要結合samba控制目錄訪問等權限的話,繼續努力研究samba吧。。。

原文出處:使用samba将linux主机加入AD域(一) - 梦想开始的地方 - 博客园
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|