A Samba mint tartományvezérlő

Noha a Samba kiszolgáló nem képes Active Directory elsődleges tartományvezérlőként (PDC) működni, beállítható a Windows NT4-stílusú tartományvezérlőként való megjelenésre. Ennek a beállításnak nagy előnye a felhasználó- és géphitelesítési adatok központosítása. A Samba képes a felhasználói információk tárolására több háttérprogramot is használni.

Elsődleges tartományvezérlő

Ez a szakasz lefedi a Samba beállítását elsődleges tartományvezérlőként (PDC), az alapértelmezett smbpasswd háttérprogram használatával.

  1. A felhasználói fiókok szinkronizálásához első lépésként telepítse a Sambát és a libpam-smbpass csomagot a következő parancs kiadásával:

    sudo apt-get install samba libpam-smbpass
    
  2. Ezután állítsa be a Sambát az /etc/samba/smb.conf fájl szerkesztésével. A security mód user legyen, a workgroup pedig kapcsolódjon az aktuális szervezethez:

       workgroup = EXAMPLE
       ...
       security = user
    
  3. A megjegyzésbe tett „Domains” szakaszba vegye fel vagy vegye ki megjegyzésből a következőt:

       domain logons = yes
       logon path = \\%N\%U\profile
       logon drive = H:
       logon home = \\%N\%U
       logon script = logon.cmd
       add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u
    
    [Megjegyzés]

    Ha nem szeretne központi profilt használni, akkor hagyja a logon home és logon path beállításokat megjegyzésben.

    • domain logons: a netlogon szolgáltatást biztosítja, ennek segítségével a Samba tartományvezérlőként viselkedhet.

    • logon path: a felhasználó Windows profilját a saját mappájába helyezi. Lehetőség van egy [profiles] megosztás beállítására, amely minden profilt egy könyvtárba helyez.

    • logon drive: megadja a saját könyvtár helyi útvonalát.

    • logon home: megadja a saját könyvtár helyét.

    • logon script: megadja a felhasználó bejelentkezése után helyileg futtatandó parancsfájlt. A parancsfájlt a [netlogon] megosztásba kell tenni.

    • add machine script: ez a parancsfájl fogja automatikusan létrehozni a tartományhoz csatlakozáshoz szükséges Machine Trust Account-ot.

      Ebben a példában létre kell hozni a machines csoportot az addgroup segédprogrammal, részletekért lásd a „Felhasználók hozzáadása és törlése” szakaszt.

  4. Vegye ki megjegyzésből a [homes] megosztást a logon home leképezéséhez:

    [homes]
       comment = Saját könyvtárak
       browseable = no
       read only = no
       create mask = 0700
       directory mask = 0700
       valid users = %S
    
  5. Tartományvezérlőként való beállításkor egy [netlogon] megosztást is be kell állítani. Ehhez vegye ki megjegyzésből a következőt:

    [netlogon]
       comment = Hálózati bejelentkezési szolgáltatás
       path = /srv/samba/netlogon
       guest ok = yes
       read only = yes
       share modes = no
    
    [Megjegyzés]

    A netlogon megosztás eredeti útvonala a /home/samba/netlogon, de a Filesystem Hierarchy Standard (FHS) szerint az /srv a rendszer által biztosított telephely-specifikus adatok megfelelő helye.

  6. Most hozza létre a netlogon könyvtárat és egy (egyelőre) üres logon.cmd parancsfájlt:

    sudo mkdir -p /srv/samba/netlogon
    sudo touch /srv/samba/netlogon/logon.cmd
    

    A kliens környezetének személyre szabásához tetszőleges Windows bejelentkezési parancsfájl-parancsokat megadhat a logon.cmd fájlban.

  7. Restart Samba to enable the new domain controller:

    sudo restart smbd
    sudo restart nmbd
    
  8. Lastly, there are a few additional commands needed to setup the appropriate rights.

    Mivel a root alapértelmezésben le van tiltva, egy munkaállomás tartományhoz csatlakoztatásához egy rendszercsoportot meg kell feleltetni a Windows Domain Admins csoportnak. A net segédprogram segítségével adja ki a következő parancsot:

    sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
    
    [Megjegyzés]

    A sysadmin helyett tetszőleges másik csoportot is megadhat. Ezen kívül a tartományhoz csatlakozó felhasználónak a rendszer admin csoportja mellett a sysadmin csoportban is tagnak kell lennie. Az admin csoportbeli tagság lehetővé teszi a sudo használatát.

    If the user does not have Samba credentials yet, you can add them with the smbpasswd utility, change the sysadmin username appropriately:

    sudo smbpasswd -a sysadmin
    

    Ezen kívül a jogokat külön meg kell adni a Domain Admins csoportnak az add machine script (és más rendszergazdai funkciók) működéséhez. Ehhez adja ki a következő parancsot:

    net rpc rights grant -U sysadmin "EXAMPLE\Domain Admins" SeMachineAccountPrivilege \
    SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege SeRemoteShutdownPrivilege
    
  9. Ezután ugyanúgy képesnek kell lennie windowsos kliensek csatlakoztatására a tartományba, mintha Windows kiszolgálón futó NT4 tartományba léptetné be azokat.

Tartalék tartományvezérlő

Ha a hálózaton van elsődleges tartományvezérlő (PDC), ajánlatos tartalék tartományvezérlőt (BDC) is tartani. Ez lehetővé teszi a kliensek hitelesítését akkor is, ha a PDC elérhetetlenné válik.

A Samba BDC-ként való beállításakor szükség van a fiókinformációk szinkronizálására a PDC-vel. Ez többféleképpen is megvalósítható: scp, rsync vagy LDAP használatával passdb háttérprogramként.

Az LDAP használata a legrobusztusabb, mivel mindkét tartományvezérlő valós időben képes ugyanazokat az információkat használni. Azonban egy LDAP kiszolgáló beállítása fölöslegesen bonyolult lehet kevés felhasználói és számítógépes fiók esetén. Részletekért lásd a „Samba és LDAP” részt.

  1. Első lépésként telepítse a samba és libpam-smbpass csomagokat. Egy terminálból adja ki a következőt:

    sudo apt-get install samba libpam-smbpass
    
  2. Szerkessze az /etc/samba/smb.conf fájlt, és a [global] szakaszban vegye ki megjegyzésből a következőt:

       workgroup = EXAMPLE
       ...
       security = user
    
  3. A megjegyzésben lévő Domains alatt vegye fel a következőket:

       domain logons = yes
       domain master = no
    
  4. Győződjön meg róla, hogy a felhasználónak joga van írni a /var/lib/samba könyvtár fájljait. Például az admin csoport tagjai számára az scp használatának engedélyezéséhez adja ki a következőt:

    sudo chgrp -R admin /var/lib/samba
    
  5. Ezután szinkronizálja a felhasználói fiókokat a /var/lib/samba könyvtárat az scp segítségével átmásolva a PDC-re:

    sudo scp -r felhasználónév@pdc:/var/lib/samba /var/lib
    
    [Megjegyzés]

    A felhasználónevet helyettesítse a felhasználónévvel, a pdc-t pedig a tényleges PDC gépnevével vagy IP-címével.

  6. Végül indítsa újra a sambat:

    sudo restart smbd
    sudo restart nmbd
    

A tartalék tartományvezérlő működését a PDC Samba démonjának leállításával, majd a tartományba csatlakozott valamely windowsos kliensre való bejelentkezés megpróbálásával tesztelheti.

Szintén szem előtt kell tartani, hogy amennyiben a logon home beállításban egy, a PDC-n levő könyvtárat adott meg, a PDC elérhetetlenné válásakor a felhasználók saját meghajtója is elérhetetlenné válik. Emiatt a legjobb megoldás egy harmadik, a PDC-től és a BDC-től is eltérő fájlkiszolgálón található logon home beállítása.

Információforrások