Úvod do správy systému v shellu

Velkou část příkazů pro správu systému již byly probrány dříve. Z hlediska správy systému Nejprve si řekneme, jak získat oprávnění uživatele root nebo jiného uživatele. Abyste se „stali“ jiným uživatelem, použijte program su s parametrem v podobě uživatelského jména toho, jehož oprávnění chcete získat:

  su michal

Budete vyzváni k zadání hesla uživatele michal a pokud jej zapíšete správně, získáte veškerá jeho oprávnění.

Pokud na konec příkazu umístíte pomlčku, získáte nejenom práva příslušného uživatele, ale i příslušná nastavení, která se hodí zejména v případě uživatele root. Ten má totiž v proměnné PATH uloženy adresáře /sbin a /usr/sbin. Pokud byste získali oprávnění uživatele root bez této úpravy, budete muset upravit proměnnou PATH nebo specifikovat cestu ke všem programům v těchto adresářích, budete-li je chtít použít.

  su -

Pokud použijete program su bez parametru v podobě uživatele, zvolí se výchozí uživatel, kterým je root.

Programem su můžete spustit třeba pouze jediný příkaz:

  su -c "ifconfig eth0 10.0.0.1 netmask 255.255.255.0"

Tento příkaz provede změnu nastavení síťové karty eth0 na zmíněnou adresu a síťovou masku. K tomu je třeba oprávnění uživatele root, která získáme pomocí programu su.

Jiný mechanismus představuje program sudo, jehož nastavení je v /etc/sudoers. Tento program umožňuje získat příslušná oprávnění na jediný příkaz, avšak postačí k tomu vaše heslo, tedy heslo uživatele. Sudo si navíc po zadání hesla pamatuje, že jste prověřená osoba, a následné spuštění sudo už pak nebude vyžadovat žádné heslo. Pokud sudo nepoužijete během pěti minut, program opět zapomene, že jste prověřená osoba, a o heslo požádá.

Příkladem použití může být třeba ekvivalent našeho příkazu výše:

  sudo ifconfig eth0 10.0.0.1 netmask 255.255.255.0

V grafickém prostředí je vhodné pro spouštění grafických aplikací s jinými právy používat programy jako kdesu, gksu či gksudo.

Změny oprávnění

Ke změně oprávnění uživatelů slouží příkazy chmod, chown a chgrp. První zmíněný slouží ke změně práv, druhý ke změně vlastníka, třetí ke změně skupiny. Vše se samozřejmě týká souborů (resp. adresářů). Používají se poměrně snadno:

  chown michal soubor.txt

Tento příkaz změnil vlastníka souboru soubor.txt na uživatele michal. Pokud byste chtěli změnit skupinu příslušného souboru na users, provedete:

  chgrp users soubor.txt

Obojí můžete provést i rychleji, jedním příkazem:

  chown michal:users soubor.txt

Změny oprávnění pomocí programu chmod můžete zadávat různě. Můžete použít oktální číselnou reprezentaci nebo můžete použít symbolický zápis.

Pokud si vzpomínáte na zápis oprávnění rwxrwxrwx, tak tam se první tři práva týkají vlastníka souboru, další člena skupiny a třetí ostatních uživatelů, přičemž r označuje právo čtení (v případě adresáře právo zobrazit jeho obsah), w označuje právo zápisu (v případě adresáře právo vytváření a mazání souborů) a x právo spustit soubor (v případě adresáře právo se do něj přepnout).

Oktální číselná reprezentace vychází z osmičkové soustavy a tvoří ji tři čísla, kde první reprezentuje práva vlastníka, druhé skupiny a třetí ostatních uživatelů. Jednotlivým oprávněním jsou přiřazeny hodnoty (r=4, w=2, x=1), které se sčítají. Tudíž, práva rwxrw-r-- bude možné označit jako:

  chmod 764 soubor.txt

Symbolický zápis pak rozeznává práva r, w, x, jak už je znáte, a subjekty vlastník (u, user), skupina (g, group), ostatní (o, other) a všichni (a, all). Jednotlivá práva lze přidávat pomocí znaku + (plus), odebírat pomocí znaku - (mínus) a nastavovat pomocí znaku = (rovná se). Následující příkaz tedy přiřadí všem subjektům možnost soubor číst:

  chmod a+r soubor.txt

Následující příkaz přidá uživateli a skupině právo číst a zapisovat:

  chmod ug+rw soubor.txt

Tento příkaz nastaví oprávnění příslušného souboru tak, že vlastníkovi nastaví právo číst a zapisovat, skupině pouze právo číst a ostatním uživatelům žádná práva nepřidělí:

  chmod u=rw,g=r,o= soubor.txt

Jak vidíte, zápis pomocí čísel je poněkud rychlejší.

Vzdálený přístup k shellu

Jsou v zásadě dvě možnosti, jak se připojit k vzdálené příkazové řádce na jiném unixovém stroji. Tou první je hodně zastaralá a nebezpečná metoda - telnet. Telnet je nebezpečný v tom, že komunikace mezi počítači není šifrovaná, hesla putují v nezměněné podobě a kdokoliv, kdo by poslouchal na síti, může velmi snadno tyto informace získat. Naštěstí je tato metoda tak zastaralá, že se s ní velmi pravděpodobně nesetkáte.

Mnohem lepší metodou je použít SSH (Secured SHell). Na počítači, kam se chcete přihlásit, musí běžet SSH server (v prostředí GNU/Linuxu to bude velmi pravděpodobně OpenSSH) a firewall nesmí blokovat port 22, na kterém SSH běží.

SSH klient bývá běžně přítomný snad v drtivé většině linuxových distribucí, ne-li skoro ve všech. Jsou k dispozici i klienti pro Windows (Putty). SSH klient má velice jednoduchou syntax:

  ssh uzivatel@pocitac

Je možné použít i trošku delší variantu:

  ssh -l uzivatel pocitac

Při prvním spuštění se vás klient zeptá, jestli akceptujete identitu serveru danou otiskem (fingerprint) jeho veřejného klíče. Nebývá na škodu si jej ověřit. Klient pak při každém dalším přihlášení kontroluje identitu serveru a odmítne se přihlásit, pokud otisk nesouhlasí. Zabrání tak tzv. man in the middle útoku.

Po zadání hesla se dostanete k příkazové řádce vzdáleného počítače a s vhodně nakonfigurovaným serverem můžete spouštět i grafické aplikace. Takto můžete velmi snadno spravovat počítač na dálku.

Součástí balení SSH klienta je i program scp, který umožňuje mezi počítači kopírovat soubory (pomocí SSH):

  scp soubor uzivatel@server:/cilovy/adresar

Zápis je možné samozřejmě obrátit:

  scp uzivatel@server:/zdrojovy/soubor.txt .

Přes SSH lze kopírovat i v pohodlí grafického prostředí. Zkuste třeba v Konqueroru nebo Krusaderu zapsat adresu:

  fish://uzivatel@pocitac

K dispozici jsou i scp klienti pro Windows (WinSCP).

pokrocili/komandlajna/sprava_systemu.txt · Poslední úprava: 2011/11/04 20:15 autor: Michal Dočekal
CC Attribution-Share Alike 3.0
www.chimeric.de Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 PDF Export