解放微?下的王???omain Control under Samba

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  解放微?下的王??/b>




由 HK.Samba.Org 成立到?在,自己和不同的??T都有?及 Samba 的?展和?展方向。
但是往往????T最不能了解的部份就是 Samba 中 Domain Control 的部份。



其??也?怪的,因? Samba 中有? Domain Control 的部份是 Samba 3 ?展?v程
中重要一?,相比在 Samba 2 的世界下, Domain Control 的?展可以算是一??巨大的
跳?。



另外 Domain Control 中也可算是 Samba 3 中最?理解的一部份,因??群?信c其它
服?盞吶浜希??絀U Kerberos (?一?看守地?的三?狗,也可以算是在 Unix 界中最
???的服?鍘#??擲?絀U LDAP (?又是另一令人又?矍液薜姆?鍘R?樵 Unix 界中
,?也是可以算是第一或第二今人?痛的服?鍘_@包括?定和?料??,可算是一?不?的工
作。)?更加深了 Samba 3 在 Domain Control 上的神秘感。



但是?一?鮁葜v??攏????L?就?一方面作了一定量的了解。








首先我???是先看一看?演???鬧v?? Free Microsoft Kingdom 。



  • ?令我想起一??大????究景微?下的王??且??什??擁耐??咳綣?荒芑卮癧@?????,
    那又可言「解放」?









    ?我??想起微?王???@其??有很多不同的人??@王??脅煌?乃伎跡?@都是合理的;如果你的
    ?海浮起了??擁?D片可以?是一?也不出奇怪的。









    一????ㄖ頻拿運肌?br>




    但是如果我??只抱著???取向?碚J?他,那可能我??一直也不能真了解他。所以我???是要??我??要怎?永斫?br>才合理。



  • 我想我???是不能??一??最重要的???,?也是?王??罨?鏡慕M成部份 —— Domain (?域)
  • 如果你??要??我一?????,
    ?是一??很?\\白的????「如果微?比 Unix ???俚腦?,那???俚牡胤皆諛茄Y?」



    ?然????也??瀉芏嗖煌?拇鳶福±?絀U使用者?境...?都是不??的事??,但是最令我著迷的是 Domain (?域)
    的理念。(如果你是 Unix 或 Linux 死硬派的?,?原?我在???? Microsoft 。)






    在我???未?入考?]?域的理念?r,我??先作一??更大的思考。一???? Trust Domain (信任?域)的思考!



    在微?王??謝?鏡?撾皇薔W域,但只是??擁腦誥W域之??可以?生一定的??S和??S的。
    ?可以?作信任?域。?然在 Active Directory 中的理念下???興?煌???樵?br>Active Directory ,你可以用另一眼光?碸淳W域????;比?合理的是把它看作一??巨大的
    ?淠荊??@?淠局校?憧梢園巡煌?姆種Х指畛?恚?會嶙?不同的 Domain Control (?域控制伺服器)?磣鞴芾恚???br>管理的部份又各自?接於??淠鞠隆#ㄔ讖@文中所言的信任?域的???是根? NT4 ?域
    ???而言的。)








    在信任?域下,你或?可以把它思考成?椴煌?拇笊擼桓髯園鹽舶瓦B?起?懟?br>






    在????下,每一?域控制伺服器皆把在?域下的?料?其它的?域控制伺服器作分享。








    但跟著?淼???有????




  • 第一?????是?在?域下有什??料?他??可以作分享。
  • 第二?????是?如何分?e在不同?域下的?料??域控制伺服器如何分?e?一??料是?鳧毒W域 A ,而不是?域 B ?








    ???在第二?????比?容易回答。要分?e不同?域下的?料,其??依?牡牟煌?W域下的 SID
    (Security Identifier) 就可以?到了。你可以?L?在 Samba 3 下?絛羞@??指令;那你就可以提
    取你 Samba ?域下的 SID 了。




    # net getlocalsid
    SID for domain KRB is: S-1-5-21-2539658682-2581673518-1142642392
    #

    ??你或????留意?是一很?的一???,而且每一?域下的 SID 也不同。另外在?域下
    每一?ぬ?都是以?域的 SID 作起始,而?生其它不同物件的 SID 。因此?就很容分?e出???料或是物件?? ?域?是?鳧 B ?域了。你可以用以下的指令查? Samba 伺服器下?ぬ?之?料,而其中更包含了?ぬ? SID 。





    # pdbedit -L
    root:0:root
    # pdbedit -v root
    Unix username: root
    NT username:
    Account Flags: [U ]
    User SID: S-1-5-21-2539658682-2581673518-1142642392-1000
    Primary Group SID: S-1-5-21-2539658682-2581673518-1142642392-1001
    Full Name: root
    Home Directory: \\\\krb\\root
    HomeDir Drive:
    Logon Script:
    Profile Path: \\\\krb\\root\\profile
    Domain: KRB
    Account desc:
    Workstations:
    Munged dial:
    Logon time: 0
    Logoff time: Sat, 14 Dec 1901 04:45:51 GMT
    Kickoff time: Sat, 14 Dec 1901 04:45:51 GMT
    Password last set: Mon, 23 Feb 2004 11:33:24 GMT
    Password can change: Mon, 23 Feb 2004 11:33:24 GMT
    Password must change: Sat, 14 Dec 1901 04:45:51 GMT
    #

    ??你可看?使用者?ぬ? root 的 SID 是 S-1-5-21-2539658682-2581673518-1142642392-1000
    而? SID 的?始亦是和 Domain 的 SID 是相同的。只有最後的一??底植煌??@不同的就是
    1000 ;?不同的一??底摯煞Q作 RID 。在?? root 的 RID 是 1000 。








    第二?????就比?上??,也?以回答;或?我???是回到 Samba 下?ふ掖鳶浮.?你?絛 smbpasswd
    ?r,你或???l?有如下的 options .




    $ smbpasswd -h
    ...
    ......



    options:
    ...
    ......
    extra options when run by root or in local mode:
    -a add user
    ...
    ......
    -i interdomain trust account
    -m machine trust account
    ...
    ......
    $

    在 smbpasswd 下,你可以找到三?不同的使用者?ぬ?。



  • 使用者?ぬ? ( user account )
  • 信任???ぬ? ( machine trust account )
  • 信任?域?ぬ? ( interdomain trust account )









    在??你可以思考就是使用者?ぬ?之存在???,首先使用者?ぬ?是相?於使用者的?ぬ?模
    式;?不只存在於 Microsoft ?域世界,其???也存在於 Unix 的世界?取?br>


  • ?是?一使用者希望提取一服??r,服?掌鞅仨???提取服?盞木褪鞘褂謎?ぬ?下所登?
    的使用者,而不是一???閡獾墓?粽摺?br>


  • 服?掌魅綰文芊直孢@??差???主要就是倚靠服?掌鞅舊硎紫鵲卿?使用者的?料,然後
    如果使用者能?蛟諤崛∵@??服?盞?r候,能提供的?料和服?掌鞅舊硭?卿?之?料吻合的
    ?,服?掌鞅舊砭??檎?_提供?料的使用者服?鍘?br>


  • ?不只在於 Microsoft ?域,其???你去任何一?上服?照擼???忠?蟠?僑朧褂玫?br>?r候,你也???κ褂謎?ぬ?的使用和管理的???。








    另外什?是信任???ぬ??




  • 要了解信任???ぬ?的?,你或?要先理解在 Microsoft 下的 Domain Logons (?域登入) 服?鍘?br>







    Microsoft 下的?域登入服??/b>



  • Microsoft ?域下是把伺服器和桌面系?完全分?的。?不像 Linux 伺服器,因??br>你可以想像 Linux 的桌面系?下可以安?不同的伺服器系?,例如?Mandrake 和
    Debian 下,他??完全可以在安?程式?r安?不同的伺服器系?和桌面用?舫淌健?br>
  • 其??在某些 Linux 的版本下,他??是把桌面系?和伺服器系?分?的,例如?
    ?旗 Linux ,他把桌面系?和伺服器系?分?在不同的安?光碟上,但是?也不是如
    Microsoft 形式下的把伺服系?和桌面系?不同的分?e。因?樵讖@上面的分?e只是安?
    上的分?e,而 Microsoft 在??的分?e是在於?域登入上。








    做一????味?噓P??身分的???




  • 在 /etc/samba/smb.conf 下的 [global] 部分中加入或修改??擁?仔小?br>



    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logons = yes
    security = user
    ......
    ...

  • 然後你可以?絛 testparm ??y?你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_PDC
    Press enter to see a dump of your service definitions
    ......

    你可以在??看?你的 Samba ??炎約嚎醋魘 PDC ,?然?也是 Microsoft ?域下
    的?域控制服?掌鰲?br>



  • 第二步?,修改 /etc/samba/smb.conf ;只要把 domain logons 的?定作 no 。其它的?定也不需要作出更改。




    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logon = no
    security = user
    ......
    ...

  • ??贏?你再次?絛 testparm ??y?你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    Press enter to see a dump of your service definitions
    ......

    ??r你可以看?你的 Samba 伺服器己改?了身份。在??它己?成了 STANDALONE 的?C器,而失去了?域控制伺服器的尊?身份。



  • 再次修改你的 smb.conf ?n案?





    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logon = no
    security = domain
    ......
    ...

    ?次只修改了 security 的?定,而其它的?s不作修改。?在你可以再用 testparm ??br>?z查你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_MEMBER
    Press enter to see a dump of your service definitions
    ......

  • ?次得出?淼慕Y果?示了 Samba 不再是 STANDALONE 了,而又?身成??br>DOMAIN_MEMBER 。








    Microsoft ?域下的 DOMAIN_CONTROLER 和 DOMAIN_MEMBER (?域成?T)




  • Microsoft ?域下的?域控制伺服器就是以 DOMAIN CONTROLER 的身份存在在?域下。
    (而 PDC 就是其中一?形的 DOMAIN CONTROLER ,而 BDC 又是另一?形的
    DOMAIN CONTROLER ,下文??傺 BDC 的?定。)
  • Microsoft ?域下的桌面系系?就是以 DOMAIN_MEMBER 的身份存在在?域下。
    (例如 NT workstation,或者 Windows 2000 Prefessinal 和 Windows XP Prefessinal
    。他??就是以 DOMAIN_MEMBER (?域成?T)的身份存在。
  • DOMAIN_MEMBER 和 DOMAIN CONTROLER 有什?分?e??我???氖褂謎叩慕嵌認?br>思考????。








    使用者和 DOMAIN_MEMBER



  • ?使用者使用 Microsoft ?域下的?源?r,他??一定??褂媚程???的(或???形
    的配?洌?蛟S未??絛 CE 的手?ひ部梢宰骶W?登入之用!)。他???不可能在只是坐在椅上而不需要透?使用??就可以使用?域下的?n案目?吧!
  • ?使用者使用某台???r,很多?r候在?始使用?r,他??也需要?入使用者名?和
    使用者??羲?卿?的密?。就如使用者?ぬ?下所??的!但是????s在如果使用者在登入的
    ?r候??窳四塵W域作?櫚僑氳腦?,那他所登入的??本身就很有可能是?]有???使用者?ぬ?
    的?料,而????料的?任?s是?端地存放在 PDC 和 BDC ?鵲模?昧俗?我??站在
    DOMAIN_CONTROLER (?域控制伺服器)的角度?硐胂脒@事情。









    DOMAIN_CONTROLER 和 DOMAIN_MEMBER



  • ?我??站在 DOMAIN_CONTROLER 的角度下?硐脒@事情的?;就好像在?域下有一台??
    拿著某人的?料包括?人的登入名?和密??硐蚰闋鞽齙僑氳囊?螅『昧巳綣?@台??是一台含有?閡獾碾??,
    而且它是被一???閡獾墓?粽咚?刂疲ɑ蛟S?真是一??信任的使用者,但?s坐在一台你不能信任的??下!),那????赫吖?粽吆苡鋅梢允?榱似平餑橙說氖褂?br>者密?而?恚?? DOMAIN_CONTROLER 是不能在任何???λ?髟????r,他都坦?\以告的。



  • 如何可以分? DOMAIN_MEMBER 是否可以信靠的??????答案就是信任???ぬ?。








    信任???ぬ?的?成




  • 如何在 Microsoft ?域下?成信任??的??S?(我想你可以把它看作成一??
    ??S,因?槿綣?W域下有?商 Microsoft 或者 Samba 伺服器,但?不能算是能?蜻_成
    信任???ぬ?,因?檫@?商???可以?立成? STANDALONE ??檔乃歐?鰨??皇??成
    信任??的??S即 DOMAIN CONTROLER 和 DOMAIN MEMBER 的??S;不使用???S的?;???潞芏嗖渙嫉撓絆?!?可以普遍?於不同大少的公司。(他??都可以在不同部??,不同的
    分公司的地址下都有很多不同的??在?\作;但是?中?s?]有把它??的?嘭?分?e清楚,
    ?些伺服器都需要保存一?的使用的???ぬ?,而且?一些使用者????r?,或不同
    的?r?下接?多於一台伺服器?r,?些伺服器甚至需要把使用者的?料作多於一次的登
    ?,?然每多一次的登?,???溝檬褂謎咴諦薷淖約旱拿艽a?r,他就要到不同的伺服器下修
    改他???ぬ??鵲氖褂謎咼艽a。?些都??由罟芾淼碾y度!)



  • 在建立信任???ぬ?的??S?r,在 Microsoft 的?域下需要有起??商???。一台是
    PDC ,另外一台成? DOMAIN_MEMBER 。?有一??很重要的步?,就是 join DOMAIN 的
    步?。








    信任???ぬ?的?成 (PDC)



    在??先?定你的 PDC 。也先看看你的 /etc/samba/smb.conf 。




    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logons = yes
    security = user
    add machine script = /usr/sbin/useradd %u
    ......
    ...

  • 以上的?定是把你的 Samba ?定成? PDC ,後再加上一 add machine script 的
    option . ???溝僥愕 DOMAIN_MEMBER 作 join DOMAIN ?r,使你的 PDC 自?擁卦 Unix 或 Linux 系?下?生你 DOMAIN_MAMBER 的???ぬ?。









    信任???ぬ?的?成 (DOMAIN_MEMBER)



  • 好了另外我??要?碸匆豢 DOMAIN_MEMBER ?鵲 /etc/samba/smb.conf 的?定?




    [global]
    ...
    ......
    domain master = no
    preferred master = no
    domain logons = no
    security = domain
    add user script = /usr/sbin/useradd %u
    ......
    ...

  • 基本上如果你的 Samba 是作 DOMAIN_MEMBER 的?,原?t性地你的 Samba 就不需要成
    ? domain master (?域控制伺服器),亦不需要成? preferred master ,?然你亦不需要作 domain logons (在?域上提供?域登入)
    伺服器。你亦可以不把?些 Options 作出?定的,但要?得把 security 的?定?定作
    domain ,就可以了。(?也是使你的 Samba 成?榫W域成?T的最重要一?,?代表著你的 Samba ?意提供服?戰o?域控制器下所登?的使用者。)









    增加使用者程式 (add user script)



  • 另外有???定,你可能需要加在你?域成?T的 smb.conf ?鵲
    \"add user script\" 。



  • ?槭顫N要加入??定?(其??你可以使用 winbind ?砣√孢@?定的。)



  • 或?你??枷胍?????,如果在?域的 PDC ?ぬ??扔心呈褂謎 frankie 的?ぬ?,但是
    ??ぬ??s不存在在?域成?T的 Unix 或 Linux ?ぬ??齲?悄愕木W域成?T(如果它是?絛 Samba 系?)就不能容
    容 frankie 提取?域成?T?C器?仍誥W域上所分享的?域?源。因? frankie 在提取
    ?域成?T下的?源?r,你的 Samba ?s不知道 frankie ?? Unix 或 Linux 下
    ??褂檬顫N使用者和群?的?嗔?硤崛≠Y源。所以?]有它途,只有就是不提供服?戰o frankie 。但是如
    果在你 Samba 下的 /etc/samba/smb.conf 下加入 add user script 的?r候,
    那??域成?T( Samba )?? frankie 是存在於?域控制伺服器?齲??芡ㄟ^??;?s又??在
    自己 Unix 或 Linux 系?下?s?]有 frankie 使用者存在,那?域成?T Samba 就?? \"add user
    script\" 的程式?碓 Unix 系??燃詠 frankie 的?ぬ?,?? frankie 就能在 unix
    系?下存在了。因此?域成?T在遇上 frankie ?硤崛【W??源?r,就可以使用
    新增的?ぬ?的使用者?嘞蘚腿航M?嘞?硤崛 ?br>







    ?⒓ ( Join ) ?域



    ?你?定好主?域控制伺服器和?域成?T??商?Samba)伺服器,那你?需要一????蔚牟襟E;???蔚牟襟E就是??br>加?域(Join Domain)的?程。(??r集中在?? rpc ??檔 Join Domain,另外亦集中??在 Samba 3 下 Join Domain 的情?r。)




  • 在 Samba 3 中如果要?成?⒓泳W域的?幼?r,你首先要理解三件事。
  • -> 首先你要把你的?域成?T加入到什? Domain 下。其??你也能理解,如果你要加入到 HKSAMBA
    Domain 下,和?你加入到 GODCLICK Domain 下,?是?杉?煌?氖慮櫚摹R?O定你的?域成?T要加入何?域,?可以在?域成?T下的 /etc/samba/smb.conf 的 workgroup ?定作修改。
  • -> 另外你要知道在那主?域控制伺服器(PDC)下,最高?嗔φ叩氖褂謎?ぬ?密?。在不同的伺服器系?下???最高?嗔φ叩?ぬ?名?各有不同,例如?在 Microsoft 下,最高?嗔φ呤 Administrator ,而在 Samba 系?下最高?嗔φ擼?詞 Unix 或 Linux 下的最高?嗔φ擤U root 。
  • -> 第三?郵慮榫褪錢?加入?域?r所??竦謀0訃??怠#ㄔ Samba 3 下
    你可以??竦謀0訃??凳 rpc、 rap 和 ads 。在????r只集中在 rpc 保案??瞪稀#?br>在??保安??擋煌? smb.conf 下的 security 的?定。



    在??我???L?把我??的 Samba 伺服器 ( DOMAIN_MEMBER )加入?域中。




    # net rpc join -U root -w 123456
    Joined domain HKSAMBA.
    #

    在??你需要使用在你 Samba ?C器下,使用 root 的?ぬ?,然後?絛 net 的指令。
    net 的指令下,你需要??癖0布??擔?@?所??竦謀0布??? rpc 。(?是和 NT4 同等
    ??怠#??崾褂 join 的指令,表示你打算把你的 Samba 伺服器加入到?域下,之後你要在 net 指令下告?你的 Samba 系?,?他打算 Join 入 Domain ?r,使用什
    ?使用者?ぬ?。因在此你打算把你的 Samba 伺服器加入到 Samba 所管理的?域,所以最高?嗔Φ氖褂謎?ぬ?? root ,而 -w ????定所加入的是????さ氖褂謎咼艽a。(?密?不是 root 下的系?密?,而是 Samba passdb 下的使用者密?。所以很有可能需要你先把 root 的?ぬ?加到你的 Samba passdb 下,你可以使用 \'pdbedit -a root\' ?磉_致。)




    ?你的 Samba 伺服器能成功?⑴c??域,你就??郵盞僥慍曬?⑴c的信息。
    另外你也可以?L?使用主?域控制伺服器下的使用者?ぬ??料?淼僑肽憔W域成?T的??。(?不需要理??@?域成?T下的 Samba 伺服器有否?使用者?ぬ?,也不????@?域成?T下?使用者?ぬ?的密?有否和主?域控制器下的相同?否,也??耆?褂鎂W域控制器下的 passdb 使用者?ぬ??料作 Samba ??之用。








    ?生在?⑴c?域行?橄?/b>



  • ?你???了?⑴c?域行?椋?窗丫W域成?T?⑴c了?域後,有什?特?e的事情??l生?
  • 要了解?事情,你可以?木W域控制器下去了解它,另一方面亦需要?木W域成?T的角度下去了解它。








    ?生在?⑴c?域行?橄碌木W域控制器




  • ?你的?域成?T?⑴c了?域?r,你可以??在?域的?域主控伺服器下自?擁丶尤肓艘??信任???ぬ?。你可以用 pdbedit ?g?你?域 PDC 下的?ぬ??艨諏斜懟?br>



    # pdbedit -L -w
    member$:1001:BB6FA10D4DD129BA7CD0EAC7B36D5E5C:
    70595DCF510FD294D987EBFB004FA75F:[W ]:LCT-4092041F:
    root:0:44EFCE164AB921CAAAD3B435B51404EE:
    32ED87BDB5FDC5E9CBA88547376818D4:[U ]:LCT-40920331:
    #

  • 在??你可以??你的?域控制伺服器下加入了一???ぬ?,而????ぬ?是信任???ぬ?,而????ぬ?的名?? member$ 。(如果不是使用者?ぬ?的?, Samba 是??讖@???ぬ?的?尾加上一?? \'$\' 的字原的,而另外在 Samba 下,每一???ぬ?都有一??旗?的,而? member$ 的?ぬ?旗?? \'W\' ,即表示??ぬ??橐恍湃塢???ぬ?。?也是所有?生在?域控制伺服器下的事情,?然要令?域控制伺服器能成功建立?一?ぬ?,也是需要像前文所?在 /etc/samba/smb.conf 中加入 \'add machine script\' 的?定。








    ?生在?⑴c?域行?橄碌木W域成?T



  • 另一方面可能你也??煞?樵誥W域成?T的改?,但是我想你?是先思考?中的可能??。

  • 有什?是可能??的?我想只有?身?。
  • -> ??著主?域控制伺服器下??@?ぬ?所?定的密?。
  • -> 所登入?域的 SID ,??身??料。( SID 是?域中最基本的?料,所以?域成?T也自然要知道??料,好分?e他是加入何?域的。)



  • 但是?密?究景收在那?n案?取H綰慰梢園l??密??先首要了解 Samba 大部?料是收在 tdb ?料?n案下的,?信任??密?也不例外。你可以翻查不同 tdb ?n案,看密?收在那?n案下。(在??可以先告?你?密?是收在 /var/lib/samba/secrets.tdb 下,另外你可以用 tdbdump ?聿榭催@?n案。)




    # tdbdump /var/lib/samba/secrets.tdb
    {
    key = \"SECRETS/MACHINE_LAST_CHANGE_TIME/HKSAMBA\"
    data = \">\\04\\92@\"
    }
    {
    key = \"SECRETS/MACHINE_SEC_CHANNEL_TYPE/HKSAMBA\"
    data = \"\\02\\00\\00\\00\"
    }
    {
    key = \"SECRETS/MACHINE_PASSWORD/HKSAMBA\"
    data = \"-gguYvmRBBx6IH\\00\"
    }
    {
    key = \"SECRETS/SID/MEMBER\"
    data = \"\\01\\04\\00\\00\\00\\00\\00\\05\\15\\00\\00\\00\\0F\\DF\\D9\\0DB\\B3\\AE\\
    D0\\CC\\FEK\\C8\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00
    \\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\"
    }
    {
    key = \"SECRETS/SID/HKSAMBA\"
    data = \"\\01\\04\\00\\00\\00\\00\\00\\05\\15\\00\\00\\00\\
    D9\\D7\\E0D\\01;x\\B3\\ED\\844\\17\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00
    \\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\"
    }
    {
    key = \"INFO/random_seed\\00\"
    data = \"O\\07\\00\\00\"
    }
    #

    ?然有了??擁囊??密?後,?域成?T就可以提取了在?域控制伺服器下所??的使用者?料了。









    什?是信任?域?ぬ??



  • 要了解信任?域?ぬ?,你可以依?牧私廡湃塢??的???砹私饉??br>
  • 另外在??有一些持?e地方可以加以注意的。首先在???互相信任的?域下,大家??邢嗤?募??e。??得蛇咬著蛇????D案?幔克??大家是平等共存的。在?前?下,你可以想像的就是在不同的信任?域下皆需要?椴煌?男湃尉W域加上另一信任?域的〔信任?域?ぬ?〕,另外亦需要作申?信任的?幼鰲?br>
  • 其??也可以作?畏矯嫻男湃危? A ?域建立了 B ?域的〔信任?域?ぬ?〕,而在 B ?域?s?]有建立 A ?域的〔信任?域?ぬ?〕,另外 B ?域申?了 A ?域的信任,但是 A ?域?s?]有申? B ?域的信任,?情?r????嬖詰模∪縭沁@?櫻? A ?域的使用者?ぬ??料就可以? B ?域?砣∮茫? B ?域的使用者?ぬ??料?s不能被 A ?域取用;?意味著 A ?域的使用者可透? B ?域下的?域成?T?淼僑 A ?域,也作表著 B ?域下的???源也可分配合 A ?域下的使用者使用。反之?s不能。








    新增信任?域?ぬ?



  • 如果你想理解信任?域?ぬ?,或?你可以?男略鼉W域?ぬ??砝斫饉??br>
  • ?是?]有自?有略魴湃尉W域?ぬ?的程序呼叫的,你需要手?擁卦黽鈾?T讖@?程中你?????不同的?程,你需要依?牡摹?br>
  • 在?例子?有????域,一???域?? GODCLICK ,而另一???域?? HKSAMBA ,?在打算使 HKSAMBA ?域信任 GODCLICK 的?域。
  • -> 首先第一步先在 HKSAMBA 的主?域控制伺服下的 Unix 或 Linux 系?下新增一??使用者?ぬ?代表著???信任?域。(如何?定主?域控制伺服器,你可以留意前文的?熱蕁#?br>



    # useradd godclick\\$
    #

  • 在??加入的使用者?ぬ?是信任的?域名?。(?在的例子是? GODCLICK )但??在信任的?域名?後加上 \'$\' 字原。(但因? \'$\' 字原在 Unix 或 Linux 的 Shell 下是一特?e的字原,因此需要在?字原後加上另一保留字原 \'\\\' 。)
  • ?你完成了?一?? Unix 下的使用者?ぬ?後,你可以?z查一下?使用者?ぬ?是否被建立成功。





    $ getent passwd | grep godclick
    godclick$:x:1003:100::/home/godclick$:/bin/bash
    $

  • 另一步?就是建立信任?域?ぬ?在 HKSAMBA 的主?域控制伺服器之 Samba 伺服器的 pdbedit ?取?br>



    # smbpasswd -a -i godclick
    New SMB password:
    Retype new SMB password:
    Added user godclick$.

  • ?一次的加?ぬ?指令是 smbpasswd 而不是 pdbedit ,而且一定要使用主?域控制伺服器下的 root ?ぬ??硇略魴湃尉W域?ぬ?,另外??的?域名?是不需要再加上 \'$\' 字原在最後部份的。但是? smbpasswd 知道你在新增信任?域?ぬ??r,他就??讖@???ぬ?的最後方加上 \'$\' 的字原。另外?得在??你是需要加入密?的,?密?也是在 GODCLICK ?域申?加入 HKSAMBA ?域?r所必?要提交的的



  • 做完?些??涔Ψ蜥幔?憧蛇M行信任?域的?程了。








    信任?域?程



  • 好了在 GODCLICK 之 PDC ?絛 net 指令如下?




    # net rpc trustdom establish hksamba
    Password:
    [2004/05/03 15:49:20, 0] utils/net_rpc.c:rpc_trustdom_establish(2106)
    Success!
    #

  • ??你??l?在 net 指令是需要你加上密?的,但是要加上什?密??
  • 在??你所加上的密?是你在?絛 \'# smbpasswd -a -i godclick.net\' 所加上的密?。
  • 另外你在??接收到 Success 的信息?r,即表示你已成功地把建立了?域信任的??S,
    但是你要留意在此?r,?域 godclick 能?蠆樵? hksamba 的?域使用者?料,但是 hksamba ?s仍不能查? godclick ?域之?料,因?檫@?只建立了 hksamba ? godclick 的信任,
    ?s?]有建立 godclick ? hksamba 的信任。









    ?y?信任?域



  • 我想?你建立了信任?域?r,或?你需要作?方面的?y?。
  • 你可以先在?域 GODCLICK 的 PDC 下作使用 smbclient ?磣?y?。




    # pdbedit -L
    Unable to open/create TDB passwd
    # smbclient -W HKSAMBA -U root -L localhost
    Password:
    Domain=[GODCLICK] OS=[Unix] Server=[Samba 3.0.2-Debian]


    Sharename Type Comment
    --------- ---- -------
    print$ Disk Printer Drivers
    IPC$ IPC IPC Service
    (workstation-178 server (Samba 3.0.2-Debian))
    ADMIN$ IPC IPC Service
    (workstation-178 server (Samba 3.0.2-Debian))
    root Disk Home Directories
    Domain=[GODCLICK] OS=[Unix] Server=[Samba 3.0.2-Debian]



    Server Comment
    --------- -------
    WORKSTATION-178 workstation-178 server (Samba 3.0.2-Debian)


    Workgroup Master
    --------- -------
    GODCLICK
    #

  • 你可以先使用 pdbedit ??z查你的使用者?ぬ?,在??你??l?在你 GODCLICK 是完全
    ?]有使用者?ぬ?的,所以在??回?罅艘????的信息(Unable to open/create TDB passwd )但是你?s可以使用 root 的使用者?ぬ??聿樵? PDC 的?域?源。在
    smbclient 下,你??l?加上了 \'-W hksamba\' 的?定,??定告? smbclient 在查??ぬ??r使用 HKSAMBA ?域的使用者?ぬ?。








    在信任?域下的?ぬ?密?




  • 在??或?有朋友??????楹 GODCLICK ?域下?]有使用者?ぬ?,但是仍能查? HKSAMBA ?域下的使用者?ぬ?,那?信任?域?ぬ?在 GODCLICK 下存在在何??以致它能查? HKSAMBA ?域之?料。



  • ?你在 GODCLICK 之 PDC 下?絛辛 \'net rpc trustdom establish\' 後,你可以在

    /var/lib/samba/secrets.tdb ?n案下找到??ぬ?的?密?料。


    # tdbdump /var/lib/samba/secrets.tdb
    {
    key = \"SECRETS/SID/GODCLICK\"
    data = \"\\01\\04\\00\\00\\00\\00\\00\\05\\15\\00\\00\\00:\\84\\9A\\15S\\
    F6\\ED\\5C\\BF\\B22U\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\"
    }
    {
    key = \"SECRETS/$DOMTRUST.ACC/HKSAMBA\"
    data = \"\\08\\00\\00\\00H\\00K\\00S\\00A\\00M\\00B\\00A\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\06\\00\\00\\00123456\\00\\80\\F9\\95@\\01\\04\\00\\00\\00\\
    00\\00\\05\\15\\00\\00\\00\\D9\\D7\\E0D\\01;x\\B3\\ED\\844\\17\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\
    00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\"
    }
    {
    key = \"INFO/random_seed\\00\"
    data = \"O\\07\\00\\00\"
    }
    #

  • 在??你??l?在?? Key 的 \"SECRETS/$DOMTRUST.ACC/HKSAMBA\" 所指著的 Data ?是???信任?域的密?。









    一些特?e的事情有?信任?域



  • 首先你要理解信任?域是在不同的?域下的使用者可以使用不同?域下的?源,如果?是事是?生在 Microsoft 的?域下的?,????槭褂謎?磧形ㄒ歡?也煌? SID ,以作分?e;所以不同的?域下的使用者?ぬ?有完全不同的使用者?嗔Α5?竊 Samba ?域下?s有一???,就是因?椴煌?氖褂謎?ぬ?需是有不同的 SID ,但是在 Samba 伺服器下?s??堰@??使用者?ぬ???Q成 Unix 使用者?ぬ?,在??很多?r候不是依? SID ?硤?理,而是使用使用者的?ぬ?的登入名??磙D?Q,因此在 HKSAMBA ?域下的使用者 root 和 GODCLICK ?域下的使用者 root 在同一台 GODCLICK 之?域主控伺服器的 Samba 在 Unix 或 Linux 系?的?用嬪?s?磧辛訟嗤?氖褂謎?嗔Γ??檫@??ぬ?在登入?r都是使用了 root ?磣?ぬ?登入名?。








    Samba 的?域?料和 tdb files



  • Samba 的?域控制伺服器 PDC ,?中有不少的使用者?ぬ?的?料???;?中有很大情度是? Unix 伺服器是有很大的差?e的,因此 Samba 在?方面有它自己不同的?料?歟?@主要是把?料放在 tdbsam ?鵲模?彩 tdb file ?取_@是一??很??蔚餒Y料????n案,是由 Key 和 Data ?斫M成的,而在每一?? tdb files ?鵲 Key 是唯一的。即是??]有任何一??料是?磧邢嗤? Key 的,另外你可以使用 tdbdump ?工具指令?矸? tdb ?料?斕?熱蕁#ㄈ縞銜乃?荊?br>


  • Samba 有很大量之?料是使用 tdb ?料??澩娣牛??以諼?淼娜兆友Y samba 仍??罅渴褂 tdb ?澩娣刨Y料,但是在使用 tdb ?澩娣刨Y料,?s???Σ煌????:




  • -> tdb ?料?觳皇且瘓W?形?B之?料?歟?虼嗽謔褂 tdb ?料??r,只能在?我惶 Samba 中使用,而另一台 Samba 伺服器?s不容易查?另一台 Samba 下的 tdb ?料??鵲?熱蕁?br>(但你可以想像的就是?域下某些?料是不完全??鳧洞艘瘓W域下的?域控制器,而是??鳧哆@整???域。例如?使用者?ぬ?,群??料和 SID ? Unix id 的?Ρ缺碭瘛#?br>


  • -> tdb ?料?煲?]有提供一?易的?浞莘椒ǎ??然更?]有主伺服器和副伺服器?料?理上的分?e。
    因此要可能要管理者另外建立一方式?磽瓿 PDC 和 BDC 伺服器的?浞鶯馱O定。



  • -> tdb ?料?斕慕Y??是不容理解的,亦不容易透?直接修改?料?斕餒Y料?熱菀宰骶S?的。(?然 Samba 仍提供不同的指令?你修改?中的?熱藎??抑苯有薷餒Y料?斕餒Y料?熱藎?噯菀樁a生不必要的??。)








    OpenLDAP ? Samba 的?域?料



  • 在 Samba 下,除了使用 tdb database ?澩娣啪W域之?料外,亦可使用 OpenLDAP ?澩娣胚@方面的?料。









    ?槭顫N使用 OpenLDAP ?澩娣啪W域?料



  • 因? OpenLDAP 是一善於存放?域?料的伺服器,它亦是一??形?B的伺服器;所以在??下不同的 Samba 亦可以同一?r?查? OpenLDAP ?鵲餒Y料?熱藎?_致?料同步的目的。



  • 另外在服?戰Y??上,OpenLDAP 是有主和副伺服器之分工,而且? Samba ?o法查?主伺服器?r,他可以自?擁夭樵?副伺服器;?使得?浞鶯褪???理上更容易?到。




  • 另外主?域控制器和副?域控制器能同?r查? OpenLDAP ?戎?Y料?歟?a生平衡??的效果;?使得查?服?盞?r??短。








    Samba 下的 samba.schema


  • 要? OpenLDAP 能?予 Samba 作查?,首先要考?]的就是如何把 Samba ?域?料存放在 OpenLDAP ?取?br>



  • 在?方面,你需要先理解的就是 OpenLDAP 下如果需要存放不同的?料,首先要在 OpenLDAP 伺服器定???料???,?方面?作 Schema 。?然 Samba 的 Schema ?料???是不需要自
    己?磯?x它!在??上,你可以找到? Schema ,或?你在安? Samba ?r;你的 Linux 或 Unix 系?亦??婺惆慚b在你的伺服器?n案系?下。另外你可以把 Samba 的原程式?的 tar.gz ?n案?日業健?br>



    ./examples/LDAP/samba.schema

  • 另一方面你要留意的是? samba.schema 在 Samba 2.2.* 和 Samba3 是不同的,亦有不同的???,所以不要 Samba 2.2.* 的 samba.schema ,使用在 Samba 3 下。(在??主要是集中在 Samba 3 下?磧??它。)









    Samba 下的 samba.schema ???



  • 如果你打? samba.schema ?碸純吹腦?,(我十分鼓?釒憧純催@?n案。)你??l?在??n案下定?了不同的 objectclass .



  • -> sambaSamAccount ?是你??鏨系牡諞?? objectclass ,?是用?澩娣啪W域下的使用者?料的。
  • -> sambaGroupMapping ?是用?澩娣啪W域下群??料及??? Unix 系?下的 gid 的???懟?br>
  • -> sambaDomain ?是用?澩娣啪W域下的 SID 和 RID 之?料。(?方面之?料有助建立主和副?域控制器。)
  • -> sambaUnixIdPool,sambaIdmapEntry ???? Objectclass 是用?澩娣啪W域上的 SID 和相??? Unix 下的 uid 之?料,?主要是?予 Winbind 作查?之用。









    Samba 下 OpenLDAP 的基本?定



  • 在???始?定 OpenLDAP 伺服器,容? Samba ?磉M行查?和??。
  • OpenLDAP 伺服器的名?? slapd ,而它的?定?n案存放在 /etc/openldap/slapd.conf
    或者在 /etc/ldap/slapd.conf 。



  • ??是我 Linux 下的 /etc/ldap/slapd.conf 。





    allow bind_v2
    include /etc/ldap/schema/core.schema
    include /etc/ldap/schema/cosine.schema
    include /etc/ldap/schema/nis.schema
    include /etc/ldap/schema/inetorgperson.schema
    include /etc/ldap/schema/samba.schema
    schemacheck on
    pidfile /var/run/slapd/slapd.pid
    argsfile /var/run/slapd.args
    loglevel 0
    modulepath /usr/lib/ldap
    moduleload back_bdb
    backend bdb
    database bdb
    suffix \"dc=swpearl,dc=com\"
    directory \"/var/lib/ldap\"
    index objectClass eq
    lastmod on
    access to attribute=userPassword
    by dn=\"cn=admin,dc=swpearl,dc=com\" write
    by anonymous auth
    by self write
    by * none
    access to * by
    dn=\"cn=admin,dc=swpearl,dc=com\" write
    by * read

  • 在??你可以留意在 include 的??字下你可以???一行:




    include /etc/ldap/schema/samba.schema

    ?一行的意?就是?把 /etc/ldap/schema/samba.schema 加入 OpenLDAP 的 schema ?料??取?br>



  • 另外也把我伺服器下的 ldap ?料?斕餒Y料列?如下:




    # ldapsearch -xw 123456 -D \'cn=admin,dc=swpearl,dc=com\' \\
    > -LLL -b \'dc=swpearl,dc=com\'
    dn: dc=swpearl,dc=com
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: swpearl.com
    dc: swpearl


    dn: cn=admin,dc=swpearl,dc=com
    objectClass: simpleSecurityObject
    objectClass: organizationalRole
    cn: admin
    description: LDAP administrator
    userPassword:: e2NyeXB0fTBWS3J4Q8hBYXVlQVk=


    #

  • ??r????料?烊允鞘?趾??危?揮?曬P?料;而且在查??程中,你可以??你的最高?嗔Φ dn ?椹Ucn=admin,dc=swpearl,dc=com ,另外他的密?? 123456 。另外的伺服下的 suffix 是 dc=swpearl,dc=com ?些?料?δ閽O定 ldapsam 是十分重要的。因? Samba 是需要知道??褂檬顫N使用者和密??聿樵? LDAP 伺服器的,另一方面亦需要知道?域?料??旁諍巫尤~下的。









    ?定 Samba 使用 OpenLDAP 作?域?料存放



  • ?定好了 OpenLDAP 伺服器,然後要再到?定 Samba 。如果要?定 Samba 伺服器,?然你?是要修改 /etc/samba/smb.conf ?磉_到。



  • ?是有? ldapsam 的?定。( ldapsam 是指把?域下的?ぬ??料存放入 LDAP 伺服器中,也可以?是使用 LDAP ?聿樵??ぬ??料。)



    [global]


    workgroup = GODCLICK
    passdb backend = ldapsam:ldap://localhost
    domain logons = Yes
    preferred master = Yes
    domain master = Yes
    ldap suffix = dc=swpearl,dc=com
    ldap admin dn = cn=admin,dc=swpearl,dc=com
    ldap ssl = no
    ...
    ......

    ?些就是最基本有? ldapsam 的?定了;但是你可以??在??是?]有?? \'ldap admin password\',其??在 smb.conf 中亦?]有????定。所以跟著?淼牟襟E你是需要把 \'ldap admin dn\' 的 password 加以?定的。








    ?定 \'ldap admin dn\' 的密?



  • 如果你要完成 ldapsam ,那你就要作?最後一步的?定了。




    # smbpasswd -w 123456
    Setting stored password for \"\'cn=admin,dc=swpearl,dc=com\'\" in secrets.tdb
    #


  • 在?定密?的?r候,?你使用 smbpasswd ?指令,而另一方面你需要加上 \'-w\' 的 Option ,那你??l? samba ?? \'cn=admin,dc=swpearl,dc=com\' 的密?存放在
    /var/lib/samba/secrets.tdb 中。你可以用 tdbdump ??z查????n案。




    # tdbdump /var/lib/samba/secrets.tdb
    {
    key = \"SECRETS/LDAP_BIND_PW/\'cn=admin,dc=swpearl,dc=com\'\"
    data = \"123456\\00\"
    }
    ......

  • 你可以?? Samba ??褂 plain-text 形式?澩娣拍愕拿艽a,所以?保持 /var/lib/samba/secrets.tdb ?n案只有 root 能??它。








    ?域 SID ? ldapsam



  • 好了,?在你可以?男?? Samba 。然後再?z查你的 ldap database.





    # /etc/init.d/samba restart
    Stopping Samba daemons: nmbd smbd.
    Starting Samba daemons: nmbd smbd.
    # ldapsearch -xw 123456 -LLLD \'cn=admin,dc=swpearl,dc=com\' \\
    > -b \'dc=swpearl,dc=com\'
    ...
    ......


    dn: sambaDomainName=GODCLICK,dc=swpearl,dc=com
    sambaDomainName: GODCLICK
    sambaSID: S-1-5-21-362447930-1559098963-1429385919
    sambaAlgorithmicRidBase: 1000
    objectClass: sambaDomain


    #

    在??r你可以??你 Samba 主?域控制伺服器在 OpenLDAP ?料?煜倫?擁匭略雋艘還P?料,???料是用?澩娣啪W域下的 SID 的和 RID 。




  • ?楹我?堰@?域的 SID 加在 OpenLDAP 的?料??取_@是有利於主和副?域控制伺服器的?定,因?樵誥W域中所有的?域控制伺服器是需要有相同?域的 SID ,所以 Samba 把??料放在 OpenLDAP 下,是有利於?方面的查?和?定的。








    在 ldapsam 中建立使用者



  • Samba 能自行管理使用者?ぬ?的,?然使用者?ぬ?在 ldapsam 下亦不例外。?在你可以先用 \'pdbedit -Lw\' ?聿樵? Samba 使用者的?ぬ??料,後你可以再使用 \'pdbedit -a root\' ?斫?⑹ root 的使用者?ぬ?,後你可以再查? ldapsam ?鵲餒Y料。





    # pdbedit -Lw
    # pdbedit -a root
    new password:
    retype new password:
    Unix username: root
    NT username: root
    Account Flags: [U ]
    User SID: S-1-5-21-362447930-1559098963-1429385919-1000
    Primary Group SID: S-1-5-21-362447930-1559098963-1429385919-1001
    Full Name: root
    ...
    ......
    # ldapsearch -xw 123456 -D \'cn=admin,dc=swpearl,dc=com\' \\
    > -b \'dc=swpearl,dc=com\'
    ...

    dn: uid=root,dc=swpearl,dc=com
    uid: root
    sambaSID: S-1-5-21-362447930-1559098963-1429385919-1000
    sambaPrimaryGroupSID: S-1-5-21-362447930-1559098963-1429385919-1001
    displayName: root
    sambaPwdCanChange: 1083653650
    sambaPwdMustChange: 2147483647
    sambaLMPassword: 44EFCE164AB921CAAAD3B435B51404EE
    sambaNTPassword: 32ED87BDB5FDC5E9CBA88547376818D4
    sambaPwdLastSet: 1083653650
    sambaAcctFlags: [U ]
    objectClass: sambaSamAccount
    objectClass: account

    ...

  • 在??你可以?? Samba 把你的使用者?ぬ?加到 OpenLDAP 伺服器?中了。








    在 Samba ldapsam 下?致的主和副?域控制伺服器的?定 (PDC 和 BDC)



  • 其???方面是十分容易的;?我??要?定 PDC 和 BDC 前,或?我??要先??一下什?是 PDC ,什?是 BDC ,什?是?域?料?歟浚ㄆ??在? ldapsam ?r,已有和大家介??什?是?域?料?熗恕#┑?錢?中和 PDC 和 BDC 的??S又是什??




  • 在 Microsoft 的?域?境下,PDC 是??存放?域?料的,另外?提供了一很重要的服?詐U?域登入,其次 Microsoft 的?域下之 PDC 亦??把?域?料分???域下之 BDC ,? BDC 接收到??域?鵲餒Y料?r,它亦可以依??料?硤峁┚W域登入的服?戰o使用者。



  • 在 Samba ldapsam 下,其本上 PDC 和 BDC 皆?]有直接存放?域?料,?些?域?料存放在 OpenLDAP 下。?然把?些?料的存放工作和分?工作亦是交由 OpenLDAP 的??!所以在?料存放??用嬪 Samba ldapsam 的 PDC 和 BDC 是同?的。



  • 另一方面?域下的 PDC 和 BDC 亦有一??很重要的分?e?就是在增加使用者?ぬ?或者加入信任??和信任?域?ぬ??r,只?? PDC 提交申?,而不?? BDC 申?的!因? BDC 只是一?浞志W域控制器!它完全不???碡???芾砭W域?料的?任,但是在持?e的情?r下,管理者是可以直接在 BDC 下使用 pdbedit 或者 smbpasswd ?硇略齷蛐薷氖褂謎?ぬ?的。









    ?定 Samba ldapsam 下之 BDC ?域控制器



  • ??得你 PDC 的 smb.conf 的?定?幔?br>



    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Processing section \"[print$]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_PDC
    Press enter to see a dump of your service definitions


    # Global parameters
    [global]
    workgroup = GODCLICK
    server string = %h server (Samba %v)
    passdb backend = ldapsam:ldap://10.0.2.178
    domain logons = Yes
    preferred master = Yes
    domain master = Yes
    ldap suffix = dc=swpearl,dc=com
    ldap admin dn = cn=admin,dc=swpearl,dc=com
    ldap ssl = no


    [homes]
    ......


  • ?是你 BDC 下的 smb.conf 的?定。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Processing section \"[print$]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_BDC
    Press enter to see a dump of your service definitions


    # Global parameters
    [global]
    workgroup = GODCLICK
    server string = %h server (Samba %v)
    passdb backend = ldapsam:ldap://10.0.2.178
    domain logons = Yes
    preferred master = Yes
    domain master = No
    dns proxy = No
    ldap suffix = dc=swpearl,dc=com
    ldap admin dn = cn=admin,dc=swpearl,dc=com
    ldap ssl = no


    [homes]
    ...
    .......

  • 在??你可以?? PDC 和 BDC 的 smb.conf 之差?e只在於 \'domain master\' ????定。其它的?定可以?是完全一?櫻?磽庖? BDC 也??樵? openLDAP ?鵲餒Y料,因此你也是需要在 BDC 下?絛 \'smbpasswd -w\' ,? BDC 也??了如何查? openLDAP 的?料。





    # smbpasswd -w 123456
    Setting stored password for \"cn=admin,dc=swpearl,dc=com\" in secrets.tdb
    # pdbedit -Lw
    root:0:44EFCE164AB921CAAAD3B435B51404EE:
    32ED87BDB5FDC5E9CBA88547376818D4:[U ]:LCT-40973E12:
    #

  • ??幽憔塗梢允褂 BDC ?聿樵? OpenLDAP ?鵲?ぬ??料。
  • 你也可以?L?一下,如果?域成?T能否在主?域控制伺服器查?失??r,??褶D而查?副?域控制伺服器下的使用者?ぬ??料。








    Samba 的 Domain Member




  • ?到?? Samba 作?域控制器,已作了一非常??蔚慕榻B了;?然?有很多很有意思的主??未在??提及的,例如? groupmap 和 idmap 等主?,?然?有 posixAccount 和 sambaSAMAccount 的?合使用的???,但是回到?文件的???目的,就是? Samba 的?域???作一定的?介。(??可算是?到了!)



  • 但是 Samba 在?域成?T角色方面?s仍有一些十分重要的部分未在??作介?。
  • ??是 Samba 和 Microsoft 在 Active Directory 上互?雨P?S。(??r Active Directory 和 Samba 的配搭上只出?在 Samba 成?榫W域成?T的角色上,而不能出?在 Samba 的?域控制伺服器的角色上,?方面的研究???霈F在 Samba4 的?展上。)








    Active Directory 的???



  • Active Directory 在 Microsoft 下的出?,其????W域???和?域保安都提供了一很重要的改?。
  • 首先 Active Directory 的?成上是由四??很重要的伺服器所?成? DNS 伺服器,DHCP 伺服器,LDAP 伺服器和 Kerberos 伺服器所?成。他??有良好的分工,?使得 Active Directory 有良好的保安???,而且在管理上亦?檁p易。例如使用 Kerberos 伺服器,?使得 Active Directory 在?ぬ????r,不??苯影衙艽a在??上?魎停??鞘褂 Kerberos 的?髕斃問?碚J?,???溝鎂W?上的入侵者,?o法捕捉使用者的密??料。

  • 另外 Active Directory 在使用 LDAP ?澩娣啪W域?料,?方面使得?域???更???性和富有?化。例如?在 LDAP 的???下,?域的控制可以不只有信任?域???下?磣鞽齜止ぃ?磽庖囁梢雜煞秩~的???下?磣鞽齜止ぃ?嗉詞欽f?在你的?域下可以有一 Active Directory ?域? samba.org ,而另外可以在另 Active Directory ?域? hk.samba.org
    而??域是在 samba.org 之下的,但?s又可以?立地加以管理。








    Samba 的 security ADS



  • Samba 和 Active Directory 的合作模式??r只在於和 Microsoft 的 Kerberos 服?掌?賢ǎ?@方面可以看作是保安上的一大?步。但是在?域???上?s仍?]有很大的改?,??r Samba 亦是停留在 NT4 的???上。
  • 但是??s是下一大版本 Samba4 ??上的目?恕?br>







    Samba4 的目??/b>




  • 在 Active Directory 的???下,Samba4 要面?Φ???可以?是有?紗蠓矯姍U
  • -> 能接收 LDAP 的通信?f定方式?戇l放?域下的?料?熱藎?@亦是 Active Directory ?鵲木W域?料?放方式。
  • -> ?楹 Samba4 要?男陸?⑦@方面的?料?放的方式。
  • => 先要了解的是 Samba ?在仍是大量倚重 tdb ?料?n案;但是??料?n案?s亦有很大的???,可看前文的分解,tdb 是不能接收 LDAP 形式的?料查?。(其???在的 Samba 伺服器已能?虯奄Y料放在不同的?料?煜攏? mysql 和 postgresql 中;但是?些?料?烊允?o法接收 LDAP 通信?f定的查?。)?然 OpenLDAP 能?蚪郵者@方面的查?,但是又要面?α硪???,就是如果要放?料?入 OpenLDAP 的?料??齲槐仨?要依? schema 的?定。(?上文)而?方面 schema 的?定?s是令 OpenLDAP 要完全代替 Active Directory 的 LDAP 功能成?榫藪蟮淖枇ΑR?楝F?r Active Directory 的基本 schema ???已能填?M一本厚厚的巨著了,如果 Samba 由?在?始要?男輪???方面的?料;一定是一件吃力又不?好的工作!(如果有自?人士?檫@方面努力,可以??本??#?br>
  • => 所以 Samba-term 正在?始??另一?料存取的方式,?方式就是 ldb ,它???且??建立在不同的?料?焐系墓餐?ㄐ?用媯?@?用??溝么嬖讜誆煌?Y料?煜碌餒Y料能共同使用??用娑?_致?料??鵲餒Y料能使用 LDAP 的通信?f定?聿樵?。因此就可以使?料存放富更大的??性,另外又可以符合 Active Directory 的模式而被 Microsoft 的使用者查?。








    Samba4 的目?耍ǘ??/b>



  • 在 Active Directory 的???下,?有另一?????,就是如何? Microsoft 的信任??查? Unix 下的 Kerberos ,提取票???br>
  • 要明白?方面的???,首先要理解 Microsoft ?域下的信任??在查? Micorsoft Kerberos ?r,他??在提取票??r使用 Microsoft RPC ?骱艫模?? Unix 的 Kerberos 在?樗?姆?掌魈峁┢??r,?s是使用 keytab 的方式;固定地存放在服?掌韉?n案系?下。?方面的差?e就是 Samba 另一??需要努力的地方。








    未? Samba 的展望




  • 其???在 Samba 已能完全??? NT4 ??檔木W域伺服器,而且?在大部分的小型公司仍在使用 NT4 作其?域伺服器。加上 Microsoft 更停止? NT4 的支援服?眨?虼艘嗍?r候把你公司?鵲乃歐?魃??作 Samba ?域控制器了。
  • 另外在未?淼娜兆櫻?amba 亦??褂 Microsoft 的 Active Directory 的?域???下提供?域控制伺服器的服?眨?虼四愕墓?疽喔?梢? Samba 的未?磽斷賂?蟮男湃我黃薄?br>







    回到上一?? http://hk.samba.org/inside-samba/tiny.cgi



    Frankie Chow

    解放微?下的王??/b>




    由 HK.Samba.Org 成立到?在,自己和不同的??T都有?及 Samba 的?展和?展方向。
    但是往往????T最不能了解的部份就是 Samba 中 Domain Control 的部份。



    其??也?怪的,因? Samba 中有? Domain Control 的部份是 Samba 3 ?展?v程
    中重要一?,相比在 Samba 2 的世界下, Domain Control 的?展可以算是一??巨大的
    跳?。



    另外 Domain Control 中也可算是 Samba 3 中最?理解的一部份,因??群?信c其它
    服?盞吶浜希??絀U Kerberos (?一?看守地?的三?狗,也可以算是在 Unix 界中最
    ???的服?鍘#??擲?絀U LDAP (?又是另一令人又?矍液薜姆?鍘R?樵 Unix 界中
    ,?也是可以算是第一或第二今人?痛的服?鍘_@包括?定和?料??,可算是一?不?的工
    作。)?更加深了 Samba 3 在 Domain Control 上的神秘感。



    但是?一?鮁葜v??攏????L?就?一方面作了一定量的了解。








    首先我???是先看一看?演???鬧v?? Free Microsoft Kingdom 。



  • ?令我想起一??大????究景微?下的王??且??什??擁耐??咳綣?荒芑卮癧@?????,
    那又可言「解放」?









    ?我??想起微?王???@其??有很多不同的人??@王??脅煌?乃伎跡?@都是合理的;如果你的
    ?海浮起了??擁?D片可以?是一?也不出奇怪的。









    一????ㄖ頻拿運肌?br>




    但是如果我??只抱著???取向?碚J?他,那可能我??一直也不能真了解他。所以我???是要??我??要怎?永斫?br>才合理。



  • 我想我???是不能??一??最重要的???,?也是?王??罨?鏡慕M成部份 —— Domain (?域)
  • 如果你??要??我一?????,
    ?是一??很?\\白的????「如果微?比 Unix ???俚腦?,那???俚牡胤皆諛茄Y?」



    ?然????也??瀉芏嗖煌?拇鳶福±?絀U使用者?境...?都是不??的事??,但是最令我著迷的是 Domain (?域)
    的理念。(如果你是 Unix 或 Linux 死硬派的?,?原?我在???? Microsoft 。)






    在我???未?入考?]?域的理念?r,我??先作一??更大的思考。一???? Trust Domain (信任?域)的思考!



    在微?王??謝?鏡?撾皇薔W域,但只是??擁腦誥W域之??可以?生一定的??S和??S的。
    ?可以?作信任?域。?然在 Active Directory 中的理念下???興?煌???樵?br>Active Directory ,你可以用另一眼光?碸淳W域????;比?合理的是把它看作一??巨大的
    ?淠荊??@?淠局校?憧梢園巡煌?姆種Х指畛?恚?會嶙?不同的 Domain Control (?域控制伺服器)?磣鞴芾恚???br>管理的部份又各自?接於??淠鞠隆#ㄔ讖@文中所言的信任?域的???是根? NT4 ?域
    ???而言的。)








    在信任?域下,你或?可以把它思考成?椴煌?拇笊擼桓髯園鹽舶瓦B?起?懟?br>






    在????下,每一?域控制伺服器皆把在?域下的?料?其它的?域控制伺服器作分享。








    但跟著?淼???有????




  • 第一?????是?在?域下有什??料?他??可以作分享。
  • 第二?????是?如何分?e在不同?域下的?料??域控制伺服器如何分?e?一??料是?鳧毒W域 A ,而不是?域 B ?








    ???在第二?????比?容易回答。要分?e不同?域下的?料,其??依?牡牟煌?W域下的 SID
    (Security Identifier) 就可以?到了。你可以?L?在 Samba 3 下?絛羞@??指令;那你就可以提
    取你 Samba ?域下的 SID 了。




    # net getlocalsid
    SID for domain KRB is: S-1-5-21-2539658682-2581673518-1142642392
    #

    ??你或????留意?是一很?的一???,而且每一?域下的 SID 也不同。另外在?域下
    每一?ぬ?都是以?域的 SID 作起始,而?生其它不同物件的 SID 。因此?就很容分?e出???料或是物件?? ?域?是?鳧 B ?域了。你可以用以下的指令查? Samba 伺服器下?ぬ?之?料,而其中更包含了?ぬ? SID 。





    # pdbedit -L
    root:0:root
    # pdbedit -v root
    Unix username: root
    NT username:
    Account Flags: [U ]
    User SID: S-1-5-21-2539658682-2581673518-1142642392-1000
    Primary Group SID: S-1-5-21-2539658682-2581673518-1142642392-1001
    Full Name: root
    Home Directory: \\\\krb\\root
    HomeDir Drive:
    Logon Script:
    Profile Path: \\\\krb\\root\\profile
    Domain: KRB
    Account desc:
    Workstations:
    Munged dial:
    Logon time: 0
    Logoff time: Sat, 14 Dec 1901 04:45:51 GMT
    Kickoff time: Sat, 14 Dec 1901 04:45:51 GMT
    Password last set: Mon, 23 Feb 2004 11:33:24 GMT
    Password can change: Mon, 23 Feb 2004 11:33:24 GMT
    Password must change: Sat, 14 Dec 1901 04:45:51 GMT
    #

    ??你可看?使用者?ぬ? root 的 SID 是 S-1-5-21-2539658682-2581673518-1142642392-1000
    而? SID 的?始亦是和 Domain 的 SID 是相同的。只有最後的一??底植煌??@不同的就是
    1000 ;?不同的一??底摯煞Q作 RID 。在?? root 的 RID 是 1000 。








    第二?????就比?上??,也?以回答;或?我???是回到 Samba 下?ふ掖鳶浮.?你?絛 smbpasswd
    ?r,你或???l?有如下的 options .




    $ smbpasswd -h
    ...
    ......



    options:
    ...
    ......
    extra options when run by root or in local mode:
    -a add user
    ...
    ......
    -i interdomain trust account
    -m machine trust account
    ...
    ......
    $

    在 smbpasswd 下,你可以找到三?不同的使用者?ぬ?。



  • 使用者?ぬ? ( user account )
  • 信任???ぬ? ( machine trust account )
  • 信任?域?ぬ? ( interdomain trust account )









    在??你可以思考就是使用者?ぬ?之存在???,首先使用者?ぬ?是相?於使用者的?ぬ?模
    式;?不只存在於 Microsoft ?域世界,其???也存在於 Unix 的世界?取?br>


  • ?是?一使用者希望提取一服??r,服?掌鞅仨???提取服?盞木褪鞘褂謎?ぬ?下所登?
    的使用者,而不是一???閡獾墓?粽摺?br>


  • 服?掌魅綰文芊直孢@??差???主要就是倚靠服?掌鞅舊硎紫鵲卿?使用者的?料,然後
    如果使用者能?蛟諤崛∵@??服?盞?r候,能提供的?料和服?掌鞅舊硭?卿?之?料吻合的
    ?,服?掌鞅舊砭??檎?_提供?料的使用者服?鍘?br>


  • ?不只在於 Microsoft ?域,其???你去任何一?上服?照擼???忠?蟠?僑朧褂玫?br>?r候,你也???κ褂謎?ぬ?的使用和管理的???。








    另外什?是信任???ぬ??




  • 要了解信任???ぬ?的?,你或?要先理解在 Microsoft 下的 Domain Logons (?域登入) 服?鍘?br>







    Microsoft 下的?域登入服??/b>



  • Microsoft ?域下是把伺服器和桌面系?完全分?的。?不像 Linux 伺服器,因??br>你可以想像 Linux 的桌面系?下可以安?不同的伺服器系?,例如?Mandrake 和
    Debian 下,他??完全可以在安?程式?r安?不同的伺服器系?和桌面用?舫淌健?br>
  • 其??在某些 Linux 的版本下,他??是把桌面系?和伺服器系?分?的,例如?
    ?旗 Linux ,他把桌面系?和伺服器系?分?在不同的安?光碟上,但是?也不是如
    Microsoft 形式下的把伺服系?和桌面系?不同的分?e。因?樵讖@上面的分?e只是安?
    上的分?e,而 Microsoft 在??的分?e是在於?域登入上。








    做一????味?噓P??身分的???




  • 在 /etc/samba/smb.conf 下的 [global] 部分中加入或修改??擁?仔小?br>



    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logons = yes
    security = user
    ......
    ...

  • 然後你可以?絛 testparm ??y?你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_PDC
    Press enter to see a dump of your service definitions
    ......

    你可以在??看?你的 Samba ??炎約嚎醋魘 PDC ,?然?也是 Microsoft ?域下
    的?域控制服?掌鰲?br>



  • 第二步?,修改 /etc/samba/smb.conf ;只要把 domain logons 的?定作 no 。其它的?定也不需要作出更改。




    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logon = no
    security = user
    ......
    ...

  • ??贏?你再次?絛 testparm ??y?你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    Press enter to see a dump of your service definitions
    ......

    ??r你可以看?你的 Samba 伺服器己改?了身份。在??它己?成了 STANDALONE 的?C器,而失去了?域控制伺服器的尊?身份。



  • 再次修改你的 smb.conf ?n案?





    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logon = no
    security = domain
    ......
    ...

    ?次只修改了 security 的?定,而其它的?s不作修改。?在你可以再用 testparm ??br>?z查你的 samba 系?。




    # testparm
    Load smb config files from /etc/samba/smb.conf
    Processing section \"[homes]\"
    Processing section \"[printers]\"
    Loaded services file OK.
    Server role: ROLE_DOMAIN_MEMBER
    Press enter to see a dump of your service definitions
    ......

  • ?次得出?淼慕Y果?示了 Samba 不再是 STANDALONE 了,而又?身成??br>DOMAIN_MEMBER 。








    Microsoft ?域下的 DOMAIN_CONTROLER 和 DOMAIN_MEMBER (?域成?T)




  • Microsoft ?域下的?域控制伺服器就是以 DOMAIN CONTROLER 的身份存在在?域下。
    (而 PDC 就是其中一?形的 DOMAIN CONTROLER ,而 BDC 又是另一?形的
    DOMAIN CONTROLER ,下文??傺 BDC 的?定。)
  • Microsoft ?域下的桌面系系?就是以 DOMAIN_MEMBER 的身份存在在?域下。
    (例如 NT workstation,或者 Windows 2000 Prefessinal 和 Windows XP Prefessinal
    。他??就是以 DOMAIN_MEMBER (?域成?T)的身份存在。
  • DOMAIN_MEMBER 和 DOMAIN CONTROLER 有什?分?e??我???氖褂謎叩慕嵌認?br>思考????。








    使用者和 DOMAIN_MEMBER



  • ?使用者使用 Microsoft ?域下的?源?r,他??一定??褂媚程???的(或???形
    的配?洌?蛟S未??絛 CE 的手?ひ部梢宰骶W?登入之用!)。他???不可能在只是坐在椅上而不需要透?使用??就可以使用?域下的?n案目?吧!
  • ?使用者使用某台???r,很多?r候在?始使用?r,他??也需要?入使用者名?和
    使用者??羲?卿?的密?。就如使用者?ぬ?下所??的!但是????s在如果使用者在登入的
    ?r候??窳四塵W域作?櫚僑氳腦?,那他所登入的??本身就很有可能是?]有???使用者?ぬ?
    的?料,而????料的?任?s是?端地存放在 PDC 和 BDC ?鵲模?昧俗?我??站在
    DOMAIN_CONTROLER (?域控制伺服器)的角度?硐胂脒@事情。









    DOMAIN_CONTROLER 和 DOMAIN_MEMBER



  • ?我??站在 DOMAIN_CONTROLER 的角度下?硐脒@事情的?;就好像在?域下有一台??
    拿著某人的?料包括?人的登入名?和密??硐蚰闋鞽齙僑氳囊?螅『昧巳綣?@台??是一台含有?閡獾碾??,
    而且它是被一???閡獾墓?粽咚?刂疲ɑ蛟S?真是一??信任的使用者,但?s坐在一台你不能信任的??下!),那????赫吖?粽吆苡鋅梢允?榱似平餑橙說氖褂?br>者密?而?恚?? DOMAIN_CONTROLER 是不能在任何???λ?髟????r,他都坦?\以告的。



  • 如何可以分? DOMAIN_MEMBER 是否可以信靠的??????答案就是信任???ぬ?。








    信任???ぬ?的?成




  • 如何在 Microsoft ?域下?成信任??的??S?(我想你可以把它看作成一??
    ??S,因?槿綣?W域下有?商 Microsoft 或者 Samba 伺服器,但?不能算是能?蜻_成
    信任???ぬ?,因?檫@?商???可以?立成? STANDALONE ??檔乃歐?鰨??皇??成
    信任??的??S即 DOMAIN CONTROLER 和 DOMAIN MEMBER 的??S;不使用???S的?;???潞芏嗖渙嫉撓絆?!?可以普遍?於不同大少的公司。(他??都可以在不同部??,不同的
    分公司的地址下都有很多不同的??在?\作;但是?中?s?]有把它??的?嘭?分?e清楚,
    ?些伺服器都需要保存一?的使用的???ぬ?,而且?一些使用者????r?,或不同
    的?r?下接?多於一台伺服器?r,?些伺服器甚至需要把使用者的?料作多於一次的登
    ?,?然每多一次的登?,???溝檬褂謎咴諦薷淖約旱拿艽a?r,他就要到不同的伺服器下修
    改他???ぬ??鵲氖褂謎咼艽a。?些都??由罟芾淼碾y度!)



  • 在建立信任???ぬ?的??S?r,在 Microsoft 的?域下需要有起??商???。一台是
    PDC ,另外一台成? DOMAIN_MEMBER 。?有一??很重要的步?,就是 join DOMAIN 的
    步?。








    信任???ぬ?的?成 (PDC)



    在??先?定你的 PDC 。也先看看你的 /etc/samba/smb.conf 。




    [global]
    ...
    ......
    domain master = yes
    preferred master = yes
    domain logons = yes
    security = user
    add machine script = /usr/sbin/useradd %u
    ......
    ...

  • 以上的?定是把你的 Samba ?定成? PDC ,後再加上一 add machine script 的
    option . ???溝僥愕 DOMAIN_MEMBER 作 join DOMAIN ?r,使你的 PDC 自?擁卦 Unix 或 Linux 系?下?生你 DOMAIN_MAMBER 的???ぬ?。









    信任???ぬ?的?成 (DOMAIN_MEMBER)



  • 好了另外我??要?碸匆豢 DOMAIN_MEMBER ?鵲 /etc/samba/smb.conf 的?定?




    [global]
    ...
    ......
    domain master = no
    preferred master = no
    domain logons = no
    security = domain
    add user script = /usr/sbin/useradd %u
    ......
    ...

  • 基本上如果你的 Samba 是作 DOMAIN_MEMBER 的?,原?t性地你的 Samba 就不需要成
    ? domain master (?域控制伺服器),亦不需要成? preferred master ,?然你亦不需要作 domain logons (在?域上提供?域登入)
    伺服器。你亦可以不把?些 Options 作出?定的,但要?得把 security 的?定?定作
    domain ,就可以了。(?也是使你的 Samba 成?榫W域成?T的最重要一?,?代表著你的 Samba ?意提供服?戰o?域控制器下所登?的使用者。)









    增加使用者程式 (add user script)



  • 另外有???定,你可能需要加在你?域成?T的 smb.conf ?鵲
    \"add user script\" 。



  • ?槭顫N要加入??定?(其??你可以使用 winbind ?砣√孢@?定的。)



  • 或?你??枷胍?????,如果在?域的 PDC ?ぬ??扔心呈褂謎 frankie 的?ぬ?,但是
    ??ぬ??s不存在在?域成?T的 Unix 或 Linux ?ぬ??齲?悄愕木W域成?T(如果它是?絛 Samba 系?)就不能容
    容 frankie 提取?域成?T?C器?仍誥W域上所分享的?域?源。因? frankie 在提取
    ?域成?T下的?源?r,你的 Samba ?s不知道 frankie ?? Unix 或 Linux 下
    ??褂檬顫N使用者和群?的?嗔?硤崛≠Y源。所以?]有它途,只有就是不提供服?戰o frankie 。但是如
    果在你 Samba 下的 /etc/samba/smb.conf 下加入 add user script 的?r候,
    那??域成?T( Samba )?? frankie 是存在於?域控制伺服器?齲??芡ㄟ^??;?s又??在
    自己 Unix 或 Linux 系?下?s?]有 frankie 使用者存在,那?域成?T Samba 就?? \"add user
    script\" 的程式?碓 Unix 系??燃詠 frankie 的?ぬ?,?? frankie 就能在 unix
    系?下存在了。因此?域成?T在遇上 frankie ?硤崛【W??源?r,就可以使用
    新增的?ぬ?的使用者?嘞蘚腿航M?嘞?硤崛 ?br>







    ?⒓ ( Join ) ?域



    ?你?定好主?域控制伺服器和?域成?T??商?Samba)伺服器,那你?需要一????蔚牟襟E;???蔚牟襟E就是??br>加?域(Join Domain)的?程。(??r集中在?? rpc ??檔 Join Domain,另外亦集中??在 Samba 3 下 Join Domain 的情?r。)




  • 在 Samba 3 中如果要?成?⒓泳W域的?幼?r,你首先要理解三件事。
  • -> 首先你要把你的?域成?T加入到什? Domain 下。其??你也能理解,如果你要加入到 HKSAMBA
    Domain 下,和?你加入到 GODCLICK Domain 下,?是?杉?煌?氖慮櫚摹R?O定你的?域成?T要加入何?域,?可以在?域成?T下的 /etc/samba/smb.conf 的 workgroup ?定作修改。
  • -> 另外你要知道在那主?域控制伺服器(PDC)下,最高?嗔φ叩氖褂謎?ぬ?密?。在不同的伺服器系?下???最高?嗔φ叩?ぬ?名?各有不同,例如?在 Microsoft 下,最高?嗔φ呤 Administrator ,而在 Samba 系?下最高?嗔φ擼?詞 Unix 或 Linux 下的最高?嗔φ擤U root 。
  • -> 第三?郵慮榫褪錢?加入?域?r所??竦謀0訃??怠#ㄔ Samba 3 下
    你可以??竦謀0訃??凳 rpc、 rap 和 ads 。在????r只集中在 rpc 保案??瞪稀#?br>在??保安??擋煌? smb.conf 下的 security 的?定。



    在??我???L?把我??的 Samba 伺服器 ( DOMAIN_MEMBER )加入?域中。




    # net rpc join -U root -w 123456
    Joined domain HKSAMBA.
    #

    在??你需要使用在你 Samba ?C器下,使用 root 的?ぬ?,然後?絛 net 的指令。
    net 的指令下,你需要??癖0布??擔?@?所??竦謀0布??? rpc 。(?是和 NT4 同等
    ??怠#??崾褂 join 的指令,表示你打算把你的 Samba 伺服器加入到?域下,之後你要在 net 指令下告?你的 Samba 系?,?他打算 Join 入 Domain ?r,使用什
    ?使用者?ぬ?。因在此你打算把你的 Samba 伺服器加入到 Samba 所管理的?域,所以最高?嗔Φ氖褂謎?ぬ?? root ,而 -w ????定所加入的是????さ氖褂謎咼艽a。(?密?不是 root 下的系?密?,而是 Samba passdb 下的使用者密?。所以很有可能需要你先把 root 的?ぬ?加到你的 Samba passdb 下,你可以使用 \'pdbedit -a root\' ?磉_致。)




    ?你的 Samba 伺服器能成功?⑴c??域,你就??郵盞僥慍





  • [火星人 ] 解放微?下的王???omain Control under Samba已經有398次圍觀

    http://coctec.com/docs/linux/show-post-69641.html