neděle 2. prosince 2007

Jak zakázat druhému účtu přístup na cdrom a usb klíčenku (Ubuntu)

Poznámka k názvosloví

V následujícím textu znamená "první účet/uživatel" takový účet, který byl zřízen při instalaci Ubuntu, tj. jako první, zatímco "druhý účet/uživatel" je libovolný vytvořený další účet. První uživatel má defaultně možnost používat příkaz sudo a tedy dočasně získat rootovská práva. Všechny ostatní účty to defaultně nemají. A teď už k věci.

Absolutní omezení přístupu k médiím jiným účtům

Zřídil jsem si druhý účet, který bych chtěl používat jako pracovní účet (zrovna tak by mohlo jít o účet pro potomka). Proto jsem mu striktně omezil práva (žádná administrace, instalace atd.). Pokoušel jsem se také zcela zakázat přístup na cdrom, a to jak z důvodu používání, tak skrytí obsahu. Bohužel se nedařilo, volba Používat mechaniky CD-ROM na kartě Uživatelská oprávnění v Systém > Správa > Uživatelé a skupiny zjevně neslouží odepření přístupu k obsahu, ale pouze k používání mechaniky (např. nelze vysunout disk nebo otevřít obsah nově vloženého).

Omezení přístupu pomocí (ne)členství ve skupině

Nakonec jsem přišel na celkem jednoduchý nápad, a totiž přidělit složce /media práva skupiny, jejímž členem není druhý uživatel. Jenomže tu jsem narazil (nenudím? :-), protože vlastníkem složky /media je defaultně root.

Vlastní návod, jak zamezit účtu v přístupu ke složce /media

A to může leckterého klikoše - začínajícího ubuntistu - šeredně vyděsit. Proto tady v bodech podávám návod, co dělat - konkrétní příklady jsou pro dva účty, první je "administrátorský" a má přihlašovací jméno jarda, druhý je pracovní a jmenuje se everyday xD :

1. nejprve nutno změnit defaultního vlastníka složky /media z root na prvního uživatele, jardu:

$ sudo chown prihlasovacijmenoprvnihouzivatele /media
$ sudo chown jarda /media (změní vlastníka složky z root na jarda)

Abyste videli změnu ve Vlastnostech složky /media, měli byste refreshovat obsah kořenové složky (viz modrý symbol Obnovit nahoře v menu Nautilu).

2. nyní si dopředu vytvořte vhodnou skupinu (Systém > Správa > Uživatelé a skupiny, Správa skupin, Přidat skupinu). Nazvěte ji třeba media a zaškrtněte v ní jako členy jen root a jmenoprvnihouzivatele (tj. zde jarda), to znamená, že druhý účet (everyday) do ní patřit nebude, protože není zaškrtnutý. Potvrďte.

3. Odhlašte se a prihlašte, aby se projevilo nově určené členství ve skupině media, a také, aby měl první uživatel jarda coby aktuální vlastník složky /media ve svém seznamu skupin na kartě Oprávnění právě novou skupinu media.

4. pravý klik na složku /media, Vlastnosti > Oprávnění. Vidíte, že se změnou vlastníka volby obživly. Následuje radostný výkřik.

5. na téže kartě v položce Skupina zvolte onu nově vytvořenou skupinu media (která se tam nyní konečně objevila)

6. u Ostatní dejte Žádné (do Ostatních patří nyní právě druhý účet, everyday)

7. Předejte vlastnictvi složky /media zpět rootovi:

$ sudo chown root /media


Výsledné nastavení na kartě Oprávnění složky /media


Výsledné vlastnosti
na kartě Oprávnění složky /media by měly být tyto:
  • Vlastník: root
  • Přístup ke složce: Vytváření a mazání souborů
  • Skupina: media (což nyní = root a první uživatel: jarda)
  • Přístup ke složce: Vytváření a mazání souborů
  • Ostatní
  • Přístup ke složce: Žádné
Nyní se můžete přihlásit do druhého účtu (everyday) a zkusit prozkoumat obsah médií (CD, klíčenka...). Nebude to možné, protože tento druhý účet (everyday) není členem skupiny media a nepatří tedy do uživatelů, kteři mají právo složku /media otevřít, vidět obsah, operovat s ním.

Co to dělá a co ještě možno

Tento příklad se týká omezení přistupu pro jakékoliv médium (cd, klíčenka) ve složce /media. Výsledným stavem je to, že v prvním účtu (jarda) můžete pracovat s CD mechanikou a klíčenkami, zatímco po přepnutí / následném přihlášení do účtu everyday nejsou cdrom ani klíčenky nijak dostupné ani viditelné.

Domníval jsem se, že podobný postup lze uplatnit i na složku /media/cdrom0 a tedy zakázat pouze cdrom, ale vypadá to, že root (nebo HAL ? :-) vždycky přebije to nastavení práv volbou Přístup k souborům, jakmile je CD médium vloženo do mechaniky.

Obnovení původního nastavení na kartě Oprávnění

Vrátit původní nastavení na kartě Oprávnění u složky /media je možné takto:
  1. nejprve se udělejte vlastníkem (viz výše)
  2. v položce Ostatní místo Žádné zvolte Přístup k souborům (jinak se nedostanete na média ani jako první uživatel!)
  3. a napište do terminálu: sudo chown root:root /media
Příkaz z bodu 3 přiřadí složce /media jako vlastníka root, jako skupinu root. Společně s volbou v položce Ostatní (Přístup k souborům) se jedná o původní (defaultní) nastavení.

Pozn. Obecně platí, že jakékoliv změny členství ve skupinách jsou aktivovány až po odhlášení a opětovném přihlášení se do prvního účtu a do účtů změnou dotčených.

Žádné komentáře: