Prihlasovacie skripty a profily

Prihlasovacie skripty

Posledná vec, na ktorú sa spolu pozrieme sú prihlasovacie skripty. Prihlasovací skript je dávkový súbor MS-DOS (*.bat), ktorý je spustený pri každom prihlásení používateľa do domény. Ešte raz poznamenám, že súbor MS-DOS, takže aj jeho riadky musia byť ukončené znakmi CR/LF, nie len LF ako je to v Linuxe. Je niekoľko možností ako to dosiahnuť, len tak námatkovo ma napadá editor KWrite, prekódovanie pomocou recode, či napísanie vo Windows a následné prekopírovanie hotového súboru na správne miesto.

Najväčšia výhoda prihlasovacích skriptov spočíva v ich spúšťaní (vykonávaní) pri prihlasovaní používateľa, pretože to môžeme využiť napríklad na mapovanie sieťových diskov, či nastavenie času (áno, Samba môže plniť úlohu časového servera) v počítači a rôzne ďalšie úlohy. Prihlasovacie skripty sú umiestnené v zdieľaní netlogon, ktoré sme si už vytvorili. Nastavenie cesty ku skriptu určuje hodnoty konfiguračnej voľby logon script, ktorá je predvolene prázdna, teda nie je nastavený žiadny prihlasovací skript:

logon script =

Podobne ako profily, aj prihlasovacie skripty možno rozlíšiť podľa rôznych hodnôt. Ako príklad si ukážme nastavenie tak, že každý používateľ bude mať svoj vlastný prihlasovací skript. O to sa postará premenná Samby %U, ktorá bude nahradená menom práve prihlasujúceho sa používateľa:

logon script = %U.bat

Inou možnosťou, podľa mňa veľmi užitočnou, je použitie rôznych skriptov pre rôzne operačné systémy prihlasovanej stanice. Samba rozpoznáva Sambu (Samba), súborový systém Linux CIFS (CIFSFS), OS/2 (OS2), Windows for Workgroups (WfWg), Windows 9x/ME (Win95), Windows NT (WinNT), Windows 2000 (Win2K), Windows XP (WinXP), Windows XP 64-bit (WinXP64), Windows 2003 (Win2K3) a Windows Vista (Vista). Všetky ostatné systémy sú označené ako neznáme (UNKNOWN), takže premenná %a je nahradená príslušnou tučne zvýraznenou hodnotu:

logon script = %a.bat

Existujú aj ďalšie premenné, ktoré Samba používa, ich popis nájdete v manuáli. Ale iste budete so mnou súhlasiť, že by bolo dosť pracné, a teda náchylné na chyby, udržiavať prihlasovací skript pre každého používateľa (či stroj) zvlášť. Jednym zo spôsobov, ako si to zjednodušiť je vytvoriť jeden (prípadne niekoľko) prihlasovací skript a v adresári [netlogon] vytvoriť pre jednotlivých používateľov (stroje) symbolické odkazy na tento skript. Týmto spôsobom možno znížiť náročnosť správy skriptov a zároveň odlíšiť rôzne skupiny používateľov. Ja tu uvediem príklad použitia jedného spoločného prihlasovacieho skriptu, ktorý nazvime povedzme netlogon.bat, s týmto obsahom:

net time \\PDC /set /y
net use m: /home
net use n: \\PDC\ziaci

Tento skript najprv nastaví čas podľa času na doménovom radiči, potom namapuje domovský adresár ako disk M: a zdieľaný adresár ziaci ako disk N:. Toto riešenie má jednu nevýhodu a to, že na systémoch Windows 2k a novších bude domovský priečinok namapovaný dva krát, ale to jednoducho vyriešime, ak si nastavíme prihlasovacie skripty pomocou %a.bat a tento uložíme s menom Win95.bat, ďalší (bez mapovania /home) napr. Win2K.bat a symbolické odkazy na neho pre WinXP.bat, Vista.bat atď. Všetky v adresári [netlogon].

Mapovanie používateľských skupín

Poslednou vecou, o ktorej sa zmienim, je mapovanie používateľských skupín. Ak ste sa už prihlásili do domény z nejakej vzdialenej stanice, určite ste si všimli, že všetci používatelia majú rovnakú, obmedzenú, pracovnú skupinu (samozrejme na Windows 2k a novších). Aby sme rozlíšili práva používateľov, umožňuje Samba namapovať Unixové používateľské skupiny na skupiny vo Windows, použijeme na to príkaz net groupmap add pre pridanie mapovania alebo modify pre jeho zmenu. Kompletný výpis dostanete zadaním net groupmap.

Menším problémom pre neznalých môže byť fakt, že Samba od verzie 3.0.11 nevytvára mapovanie štandardných skupín, a tak si ho musíme vyrobiť sami. Ak viete čo je treba vytvoriť, tak nemáte problém, ak nie, pomôžeme si dokumentáciou. Konkrétne v dokumente Samba 3 v príkladoch je uvedený skript initGrps.sh, ktorý sa stará o vytvorenie potrebných skupín. My si tento skript upravíme podľa našich potrieb:

{code lang="bash" head="initGrps.sh"}#!/bin/bash

## initGrps.sh

## Mapovanie Doménových skupín Windows na UNIXové skupiny
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=admini type=d
net groupmap add rid=513 ntgroup="Domain Users" unixgroup=users type=d

## Pridanie vlastných Doménových skupín
net groupmap add ntgroup="TrUčitelia" unixgroup=trucitelia type=d
net groupmap add ntgroup="Učitelia" unixgroup=ucitelia type=d
net groupmap add ntgroup="Študenti" unixgroup=studenti type=d{/code}

Celá zmena spočíva v odstránení časti pre vytváranie systémových skupín (UNIX groups), ktoré už predsa vytvorené máme a v nahradení mien skupín podľa nášho nastavenia. V prvej časti skriptu je vytvorené mapovanie štandardných doménových skupín Windows, v druhej časti vytvárame naše tri vlastné doménové skupiny. Keďže Windows nerozoznáva skupiny podľa mena (nakoniec ani Linux) ale podľa čísla, priraďujeme štandardným skupinám aj RID, teda identifikátor, podľa ktorého Windows skupinu rozpozná.

V tomto okamžiku majú členovia skupiny admini automaticky práva administrátora. Ak chceme prideliť rôzne práva členom rôznych skupín, je to treba urobiť manuálne (alebo pomocou dávkového súboru) na každej stanici, najlepšie pri jej prihlasovaní do domény, aby sme ich nemuseli obchádzať viac krát. Postup pridania doménovej skupiny do štandardnej lokálnej skupiny je rovnaký ako pri pridávaní lokálnych skupín, len je potrebné zvoliť doménu, tak ako to vidno na obrázku.

Pridávanie doménových skupín

Ja napríklad priraďujem skupiny TrUčitelia a Učitelia do skupiny Power Users, a Študenti do skupiny Users (ale pre niektoré predmety potrebujú kvôli programom práva Power users). Tu sa žiadne medze tvorivosti nekladú a môžete si urobiť vlastnú bezpečnostnú politiku, to však nie je cieľom tohoto môjho pojednania. Každopádne uvedené rozdelenie túto tvorivosť umožňuje.

Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.