Nastavenie zdieľania

Nastavenie zdieľania

Pred tým ako sa pustíme do nastavenia samotného primárneho radiča domény (PDC) si ešte pripravíme zdieľané adresáre, ktoré budeme v sieti zdieľať prostredníctvom našej Samby. Pri ich nastavovaní si zároveň ukážeme základné postupy ich nastavenia, ako aj spôsoby riadenia prístupu k nim. Celý tento postup bude zodpovedať nami zvolenej schéme prístupu (administrator, triedny učiteľ, učiteľ žiak).

Najprv si v systéme pripravíme adresáre, ktoré budeme zdieľať. Aby aj ich názvy vypovedali o prístupe nazvime ich takto:

  • adminsky – tu budú mať prístup len členovia skupiny admini;
  • verejny – tu budú mať prístup každý;
  • triedny – tu budú mať prístup členovia skupiny ucitelia a trucitelia, ale právo zápisu len trucetelia;
  • ucitelsky – tu budú mať prístup všetci, okrem členov skupiny studenti.

Nastavenie v systéme

Osvedčilo sa mi vytvoriť pre zdieľanie v sieti samostatnú partíciu (nie je podmienkou) alebo aspoň samostatný adresár, aby to bolo všetko pekne pohromade, takže napríklad vytvoríme adresár /home/sambadir, do ktorého budeme jednotlivé zdieľané adresáre ukladať a aby sa nám zatiaľ neplietli práva súborového systému, nastavíme ich na 777:

mkdir /home/sambadir
chmod 777 /home/sambadir

Vstúpme do tohoto adresára a vytvorme si naše adresáre:

cd /home/sambadir
mkdir adminisky
mkdir verejny
mkdir triedny
mkdir ucitelsky
chmod 777 *

Po dokončení nastavení a správnom rozdelení používateľov do skupín, je vhodné zmeniť tieto práva na niečo striktnejšie. Podstata spočíva v tom, že pri prístupe na disk používa Samba práva aktuálne prihláseného používateľa, povolené v súborovom systéme.

Nastavenie v Sambe

Na začiatku som spomenul, že konfiguračný súbor má nejaké sekcie. V mojom vzorovom základnom to boli sekcie [global] a [home]. V oboch prípadoch sa jedná o špeciálne (systémové) mená, ktorým Samba rozumie. Ak vytvoríme akúkoľvek sekciu s iným menom ako tieto (sú ešte aj ďalšie systémové), bude ich Samba považovať za názov zdieľaného prostriedku (adresára). Takže začneme tým, že vytvoríme sekcie pre každé zdieľanie a do každej sekcie zatiaľ dáme len dve konfiguračné voľby – jedna určí umiestnenie poskytovaného adresára (path) a druhá mu nastaví komentár:

[administrac]
  comment = Adresár pre adminov
  path = /home/sambadir/adminisky

[triedniucit]
  comment = Adresár triednych
  path = /home/sambadir/triedny

[ucitelia]
  comment = Adresár učiteľov
  path = /home/sambadir/ucitelsky

[ziaci]
  comment = Verejný adresár
  path = /home/sambadir/verejny

Všimnite si, že mená sekcií sa nemusia zhodovať s menom zdieľaného adresára. Ak však máte v sieti stroje s Windows 95/98/ME, zaistite aby neboli dlhšie ako 12 znakov, inak nebudú z týchto strojov dostupné. Pre istotu nepoužívam medzery, ale problém by v mene sekcie nemal byť ani medzery ani interpunkcia. Postupom, ktorý som popisoval v časti o konfiguračnom súbore vygenerujeme konfiguračný súbor a znova načítame konfiguráciu.

Nastavenie kódovania

Pravdepodobne bude vhodné nastaviť správne kódovanie textu, pretože narazíte na problémy so zobrazovaním (na strojoch s Windows 95/98). Aby sme sa tomuto vyhli nastavme tieto parametre v globálnej sekcii:

## Charset settings ##
  dos charset = CP852

Ak chcete ladiť ďalej, hľadajte v manuálovej stránke smb.conf aj parametre unix charset, či display charset.

Nastavenie prístupu

Povolenie zápisu

Pri tomto nastavení zistíte, že môžete všetky naše zdieľané priečinky prezerať, ale zatiaľ nikto nemá právo do nich zapisovať. začneme teda našim verejným priečinkom (ziaci), do definície ktorého pridáme parameter writeable nastavený na yes:

[ziaci]
   comment = Verejný adresár
   path = /home/sambadir/verejny
   writeable = yes

Obmedzenie prístupu

Týmto nastavením povolíme zápis pre všetkých používateľov, ktorí sa prihlásia k nášmu serveru. Ak by sme teda povolili writeable pre všetky zdieľania, mohol by každý zapisovať všade, a teda aj študenti. A toto iste nechceme a ako tomu zabrániť si ukážme práve na zdieľaní ucitelia. Do tohoto adresára chceme povoliť prístup všetkých, okrem študentov. Keďže všetci ostatní majú mať aj právo zápisu, povolíme zápis pomocou parametra writeable, ale zakážeme prístup všetkým členom skupiny studenti pomocou parametra invalid users:

[ucitelia]
  comment = Adresár učiteľov
  path = /home/sambadir/ucitelsky
  writeable = yes
  invalid users = +studenti

Voľba invalid users môže obsahovať mená jednotlivých používateľov alebo mená skupín, pričom v našom príklade vidíte, že menu skupiny predchádza znamienko +, ktoré udáva, že máme na mysli systémovú skupinu (ďalšie možnosti sú & a @).

Obmedzenie zápisu

Ďalšou úlohou, ktorá pred nami stojí, je nastavenie prístupu do adresára triednych učiteľov. Jeho zmyslom je uchovávať dokumentáciu, do ktorej by mali mať prístup všetci učitelia, ale zapisovať by mali len triedni učitelia. Samozrejme, ani do tohoto adresára nemajú žiadni prístup žiaci. Tu si pomôžeme voľbou read list:

[triedniucit]
   comment = Adresár triednych
   path = /home/sambadir/triedny
   writeable = yes
   invalid users = +studenti
   read list = @ucitelia 

Z tohoto nastavenia vidíme, že do adresára je možné zapisovať, ale členovia skupiny studenti majú prístup zakázaný (teda aj zápis) a členovia skupiny ucitelia majú zakázaný zápis. Ostatní, teda admini a triedni učitelia majú právo prístupu i zápisu. Rovnaký výsledok môžeme dosiahnuť aj použitím voľby write list, ktorá bude obsahovať zoznam skupín (používateľov), ktorých členovia majú právo zápisu.

[triedniucit]
  comment = Adresár triednych
  path = /home/sambadir/triedny
  invalid users = +studenti
  read list = @trucitelia, @admini

Ktorý spôsob použijete nechám na Vás, ja dávam prednosť tomu prvému.

Povolenie vyvoleným

Ostal nám posledný adresár nášho príkladu. Je to adresár administrátorov, kde budú mať prístup iba oni. V tomto prípade využijeme voľbu valid users. Táto voľba obsahuje zoznam skupín (používateľov), ktorých členovia môžu vstupovať do adresára. Takže môžeme povoliť zápis všeobecne, veď zapisovať môžu len tí, čo sa do adresára dostanú:

[administrac]
  comment = Adresár pre adminov
  path = /home/sambadir/adminisky
  writeable = yes
  valid users = +admini

Na záver už len malá poznámka: nezabudnite povoliť používateľom zápis do ich domovského adresára (sekcia homes), pretože v našom východzom príklade si nemôžu do neho niť uložiť, a tak je vlastne zbytočný. A keď už povoľujete zápis, určite nezabudnite použiť kvóty, pretože skôr alebo neskôr spoznáte, že objem uložených dát rastie do obludných rozmerov a dohováranie je nekonečný a málo účinný proces.

Tu považujem za vhodné spomenúť konfiguračnú voľbu admin users, ktorá určuje administrátorov servera a dáva sa buď do globálnej sekcie (pre celý server) alebo do sekcie príslušného zdieľania, v ktorom ich chceme nastaviť. Títo používatelia v prostredí Samby vystupujú ako root, súbory (aj adresáre) nimi vytvorené bude vlastniť root (so skupinou príslušného používateľa) a budú môcť manipulovať so súbormi a adresármi bez ohľadu na nastavené prístupové práva (vrátane pridávania počítačov do domény):

admin users = @admini

Práva súborového systému

Nespomenul som ešte jeden problém, a tým sú práva súborového systému novovytvorených súborov a adresárov. Nové súbory sú vytvorené s právami na čítanie pre všetkých, ale pre zápis len pre vlastníka súboru. Toto správanie môže byť niekedy želané, pretože súbor bude môcť zmeniť len jeho vlastník. Horšie je to s právami nových adresárov. Tie sú nastavené podobne, čiže každý môže zobrazovať obsah a prechádzať adresárom, ale zapisovať do neho môže len vlastník. Týmto spôsobom by nové adresáre vlastne neboli prístupné pre verejný zápis. Ak teda toto východzie nastavenie nevyhovuje,môžme to zmeniť pomocou volieb create mask (práva nových súborov) a directory mask (práva nových adresárov). Ich hodnota je klasický osmičkový mód práv, napríklad:

create mask = 0666
directory mask = 0777

Týmto nastavujeme súborom práva čítania a zápisu pre všetky kategórie používateľov (rw-rw-rw-) a adresárom práva čítania, zápisu a prechádzania tiež pre všetky kategórie používateľov (rwxrwxrwx). Tieto voľby môžeme dať do sekcie, v ktorej majú platiť, alebo ich môžeme dať do globálnej sekcie, a potom budú platiť pre celý server.

Č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.