Ke spuštění tohoto příkazu musíte mít oprávnění superuživatele. Zvýšení uživatelských práv v Linuxu. Pomocí příkazu: su

1. Pomocí příkazu: su

Mnoho příkazů může spouštět pouze superuživatel, takže musíme vědět, jak se stát rootem. K tomu můžeme použít příkaz: su (přepnout uživatele). Příkaz su přijímá následující formáty:

ale nejčastěji budeme používat su abyste se stali uživatelem vykořenit:

Su - kořen

Pokud na řádku není zadáno uživatelské jméno, automaticky se předpokládá, že uživatel je root, takže příkaz lze zkrátit:

ale oba týmy se chovají jinak. "su" dává aktuálnímu uživateli identitu, zatímco "su -" dává aktuálnímu uživateli identitu spolu s okolím, které by bylo získáno registrací jako.

Uživatelé často používají "su" k tomu, aby se stali rootem. Pokud se pokusíte spustit příkaz (například - ifconfig), obdržíte: "command nenalezeno"chyba.

Su Heslo: ifconfig bash: ifconfig: příkaz nenalezen

Důvodem je, že normální uživatelé systému a uživatel root mají různé proměnné prostředí PATH (uživatelovu PATH můžete zobrazit pomocí "echo $PATH"). Linuxové příkazy Shell prohledá PATH uživatele a pokusí se najít příkaz ke spuštění. Začne prohledávat každý adresář uvedený v PATH, dokud není nalezen cíl.

Běžné uživatelské příkazy jsou obvykle umístěny v /usr/local/bin, /usr/bin a /bin. A příkazy uživatele root jsou umístěny hlavně v /usr/local/sbin, /usr/sbin, /sbin a kořenová PATH to odráží. Takže když se stanete superuživatelem s "su -", také přijímáte nová cesta PATH k základním příkazům. A pomocí pouze "su" se uloží vlastní cesta PATH je výchozí nastavení, proto při pokusu o spuštění programu umístěného v /usr/local/sbin, /usr/sbin, /sbin vyvolá výsledek: chyba "příkaz nenalezen". Podrobnější vysvětlení najdete na stránce man bash, zejména v sekci přihlašovacích shellů.

Takže musíte buď zadat úplnou cestu k příkazu (příklad - /sbin/ifconfig), když používáte "su", nebo použít "su -", když se stanete rootem.

2. Použití Sudo

Nemusíte být superuživatel pokaždé, když chcete spouštět některé specifické administrativní funkce. Díky sudo, můžete spouštět některé nebo všechny příkazy jako root. Když sudo nainstalován (balík: Sudo), můžete jej nakonfigurovat pomocí příkazu "visudo" jako root. V podstatě upravuje (výchozí Vim) /etc/sudoers, ale nedoporučuje se to dělat ručně.

Alex VŠECHNY=(VŠICHNI)VŠICHNI

Alex je uživatelské jméno. Uložte (stiskněte klávesu Escape a zadejte wq) a máte hotovo. Přihlaste se jako alex a spusťte například:

$sudo mňam Aktualizace

Sudo požádá o heslo. Toto je heslo Alexe, nikoli uživatele root. Při udělování uživatelských práv pomocí Sudo buďte opatrní.

Sudo ale umí víc než jen to. Můžeme povolit uživateli nebo skupině uživatelů spustit pouze jeden příkaz nebo skupinu příkazů. Vraťme se k našemu souboru sudoers. Začněme alexem a alisou, členy skupiny administrátorů. Pokud chceme, aby všichni uživatelé ve skupině „administrátor“ mohli spouštět každý příkaz jako superuživatel, musíme upravit náš příklad:

%admin VŠECHNY=(VŠECHNY)VŠECHNY

Alex může také provést příkaz superuživatele a Alisa má právo spustit Sudo se stejnými právy a heslem. Pokud alex a alisa nejsou členy stejné skupiny, můžeme definovat alias uživatele v souboru sudoers:

User_Alias ​​​​ADMINS = alisa, alex

Zde jsme definovali alias s názvem ADMINS se členy alisa a alex.

Nechceme však, aby Alex a Alisa mohli spouštět jakýkoli program jako root. Chceme, aby mohli spouštět pouze „updatedb“. Pojďme definovat alias příkazu:

Cmnd_Alias ​​​​LOCATE = /usr/sbin/updatedb

Ale to nestačí! Musíme Sudo říct, že uživatelé definovaní jako ADMINS mohou spouštět příkazy zadané v LOCATE. Za tímto účelem nahradíme řádky s „%admin“ těmito:

SPRÁVCI VŠECH = LOCATE

To znamená, že uživatelé v aliasu ADMINS mohou spouštět všechny příkazy v aliasu LOCATE.

Tentokrát /etc/sudoers vypadá takto:

User_Alias ​​​​ADMINS = alisa, alex Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb SPRÁVCI VŠECHNY = LOCATE

Výsledkem je, že alex a alisa mohou spustit updatedb jako root zadáním svého hesla.

Pokud se změní poslední řádek v souboru:

SPRÁVCI VŠECHNY = NOPASSWD:LOCATE

pak alex a alisa budou moci provést "sudo updatedb" bez zadání hesla.

K aliasu příkazu můžete přidat více příkazů a k pravidlu více aliasů. Můžeme například vytvořit alias NETWORKING obsahující nějaké síťové příkazy typ: ifconfig, route nebo iwconfig:

Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables, /usr/bin/rfcom, /usr/bin/wvdial, /sbin /iwconfig, /sbin/mii-tool

Pojďme to vše přidat do našeho souboru /etc/sudoers (pomocí visudo!). Také naší skupině ADMINS udělíme práva spouštět programy z aliasu NETWORKING:

User_Alias ​​​​ADMINS = alice, bob Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net ,/sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool SPRÁVCI VŠECH = LOCATE, NETWORKING

Rychlý test: přihlaste se jako alisa (nebo alex) a zadejte:

$ping -c 10 -i localhost

Odpověď by se měla rychle vrátit:

PING localhost.localdomain (127.0.0.1) 56(84) bajtů dat. ping: nemůže zatopit; minimální interval, povolen pro uživatele, je 200 ms

Nyní to samé, ale se Sudo:

$sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) bajtů dat. 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 čas=0,049 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 čas místního hostitele=0,044 ms doména callo.ms (127.0.0.1): icmp_seq=3 ttl=64 čas=0,021 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0,030 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=5 ttl=64 čas=0,017 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.0.1): 64 bajtů z localhost.localdomain (127.0.0.1): čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=9 ttess.=64 čas=9 ttl.=64 čas z localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 čas=0,016 ms --- statistika pingu localhost.localdomain --- 10 odeslaných paketů, 10 přijatých, 0 % ztráta paketů, čas 1 ms rtt min/avg/ max/mdev = 0,016/0,023/0,049/0,010 ms, ipg/ewma 0,187/0,028 ms

sudočasto se používá k udělení částečného přístupu určitých uživatelů k privilegovaným příkazům, aby mohli provádět omezené administrativní funkce. Jedna z vymožeností sudo je, že všechny příkazy se zapisují do /var/log/secure. Výše uvedený příklad bude popsán řádkem v protokolu:

18. dubna 11:23:17 localhost sudo: alex: TTY=pts/0 ; PWD=/home/alex ; USER=root ; COMMAND=/bin/ping -c 10 -i 0 localhost

To je vše. Teď už nikdy nezapomenu, když jsem použil Sudo: "s velkou silou přichází velká zodpovědnost."

2.1 Sudo shell

Pokud máte v sudoers nakonfigurovaná dostatečná oprávnění, můžete také otevřít root skořápka použitím:

V nejnovější verze pouze na CentOS 5, chcete-li spustit shell jako root, použijte sudo -s. Buďte velmi opatrní, protože to může změnit nebo vytvořit nové soubory v kořenovém domovském adresáři a nainstalovat je do domovského adresáře volajícího uživatele.

3.pomocník konzole

Consolehelper je shell pro spouštění GUI aplikace. Když se spustí, zkontroluje konfiguraci PAM pro požadovanou aplikaci. To znamená, že můžeme uživatele ověřit pomocí all nainstalované moduly PAM. Hlavní metodou je požádat o heslo, ale pokud máme správné vybavení. můžeme autentizovat pomocí čipových karet, tokenů, otisků prstů atd. Konfigurace PAM je nad rámec tohoto dokumentu (viz Příručka administrátora PAM), proto se podíváme na krok konfigurace consolehelper, který je nutný ke spouštění aplikací jako root a vyžaduje heslo root.

Jako příklad nakonfigurujeme /usr/bin/xterm, aby běžel jako root.

Ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

Nyní pro konfiguraci PAM vytvořte soubor /etc/pam.d/xterm-root:

#%PAM-1.0 auth include config-util account include config-util session include config-util

Nakonec nakonfigurujte consolehelper tak, aby spouštěl /usr/bin/xterm jako root pomocí příkazu "xterm-root". Vytvořte soubor /etc/security/console.apps/xterm-root:

USER=root PROGRAM=/usr/bin/xterm

To je vše. Spusťte "xterm-root" (z příkazového řádku nebo pomocí zástupce souboru .desktop), zadejte heslo a jděte. Pokud se zobrazí chyba: "Xlib: připojení k ":0.0" serverem odmítnuto", spusťte nejprve "xhost local:root".

Jak víte, Linux bere správu uživatelů a udělování oprávnění k používání systému velmi vážně. Normální uživatel může zapisovat soubory pouze do svého vlastního adresáře a adresáře /tmp/. Je také možné číst některé soubory v kořenovém systému souborů. Nemůžete však instalovat programy, protože to vyžaduje oprávnění k zápisu, nemůžete měnit atributy souborů, nemůžete spouštět služby, nemůžete číst některé soubory protokolu a nemůžete dělat mnohem víc.

V Linuxu má pouze uživatel root právo spravovat kořenový souborový systém a vytvářet v něm soubory.

V tomto článku se podíváme na to, jaké programy jsou potřeba k získání práv root uživatel linuxu jak fungují, jak spustit program jako root jako normální uživatel a jak spustit grafické programy s právy root. Zjistíme také, co je sudo a jaký je rozdíl mezi su a sudo.

Vyjmenovat, co běžný uživatel Linuxu dělat nemůže, by zabralo dlouho, snáze se řekne, na co má právo, tedy kdy standardní nastavení oprávnění k souborům v Linuxu může běžný uživatel:

  • Číst, zapisovat a měnit atributy souborů ve vašem adresáři
  • Čtení, zápis a změna atributů souborů v adresáři /tmp
  • Spouštějte programy tam, kde to není zakázáno, pomocí příznaku noexec
  • Číst soubory, které mají nastaven příznak čtení pro všechny uživatele.

Pokud potřebujeme udělat něco víc, budeme potřebovat práva uživatele root Linuxu. Root má právo dělat vše ve vašem systému souborů bez ohledu na to, jaká oprávnění jsou pro soubor nastavena.

Přihlaste se jako superuživatel

Pro přihlášení jako root se můžete přepnout do jedné z virtuálních konzolí např. pomocí klávesové zkratky Ctrl+Alt+F1 a následně zadat root login a root heslo uživatel.

Získáte úplné kořenové prostředí s možností dělat vše, ale tato metoda je velmi nepraktická, protože ztratíte všechny výhody používání GUI.

Můžete udělat úplný opak, zadat přihlašovací jméno uživatele root a jeho heslo grafický manažer přihlášení, aby se desktopové prostředí spouštělo z kořenový název, a získáme všechna práva root linuxu, ale tato možnost se velmi nedoporučuje a je velmi nebezpečná, můžete omylem poškodit celý systém. Proto byla tato metoda v mnoha správcích přihlášení zakázána.

Přepněte na superuživatele v terminálu

Nyní se dostáváme k něčemu zajímavějšímu a praktičtějšímu. Pomocí speciálních utilit můžete přepnout aktuální emulátor terminálu do prostředí superuživatele a vše provést následující příkazy ne vaším jménem, ​​ale jeho jménem, ​​čímž dáváte programu práva root linux. K tomuto účelu existuje nástroj su. Obecně řečeno, tato utilita umožňuje nejen přepnout na uživatele root, ale také na jakéhokoli jiného uživatele, ale ve výchozím nastavení se používá root. Pojďme se na to podívat blíže. Příkaz su linux má následující syntaxi:

$su uživatel možností

Zde jsou jeho hlavní možnosti:

  • -c, --příkaz- provést příkaz
  • -g, --skupina- nastavit hlavní uživatelskou skupinu (pouze pro root)
  • -G --supp-group - další skupiny uživatel (pouze root)
  • -, -l, --přihlášení- přihlašovací režim, všechny proměnné prostředí budou vymazány a inicializovány s ohledem na nového uživatele a bude také změněn domovský adresář
  • -p, --preserve-environment
  • -s, --shell- nastavit přihlašovací shell
  • --verze- zobrazit verzi programu.

Nyní si trochu zaexperimentujeme, abychom pochopili, jak funguje příkaz su linux.

Nejprve spusťte su bez parametrů, ale nejprve vytvoříme proměnnou prostředí, abychom zkontrolovali, jak s nimi tento příkaz pracuje:

Nyní děláme:

Nyní se podívejme, co se stalo:

kdo jsem
$pwd
$ echo $VAR
$ echo $PATH
$ výstup

Z těchto příkazů vidíme, že jsme nyní uživatel root, ale domovský adresář je považován za adresář našeho předchozí uživatel a naše proměnná nebyla uložena a také změněna proměnná PATH, nyní tam byla přidána cesta /sbin.

Nyní používáme přihlašovací režim:

A zopakujeme stejnou kombinaci:

kdo jsem
$pwd
$ echo $VAR
$ echo $PATH
$ výstup

Stejná situace, jen tentokrát byla změněna domovský adresář do kořenového adresáře. V případě potřeby však můžeme uložit naše proměnné prostředí, existuje pro to volba -p:

Jak vidíte, naše proměnná zůstává. Můžete také přepnout na jakéhokoli jiného uživatele. Například:

Získání superuživatelských práv tímto způsobem se používá v mnoha distribucích, například Debian, OpenSUSE, ArchLInux, Gentoo atd. Ale v Ubuntu, jako distribuci pro začátečníky, je přihlášení jako uživatel root zakázáno. Dělá se to proto, že to také není příliš bezpečné, můžete zapomenout, že spouštíte příkaz jako root a udělat něco v systému špatně. Přejděme proto k dalšímu programu.

Získání práv root bez přepínání

Abychom realizovali maximum zabezpečené rozhraní Příkaz sudo byl vyvinut pro práci s právy superuživatele v Linuxu. Podívejme se, co je sudo. Tento příkaz je zapsán před každým příkazem, který je třeba provést jako superuživatel, a k jeho provedení je třeba zadat heslo nikoli roota, ale pouze vašeho uživatele. Stejně jako předchozí má tato utilita své vlastní možnosti. Nejprve se podívejme na syntaxi:

$ příkaz sudo options

Možnosti programu:

  • -b- spustit spuštěný nástroj na pozadí
  • -E- uložit proměnné prostředí
  • -G- spusťte příkaz ze skupiny
  • -H- použít domovský adresář
  • -l- zobrazit seznam oprávnění sudo pro aktuálního uživatele
  • -r- pro příkaz použijte roli SELinux
  • -s- použít shell
  • -u- spusťte příkaz jako uživatel, pokud není zadán, použijte root
  • -i- neprovádějte příkaz, ale zadejte shell, ekvivalentní su -

Můžete provádět stejné experimenty, pouze pro tento příkaz, abyste pochopili, jak používat příkaz sudo. Například:

Použití sudo je doporučený způsob spouštění příkazů jako root v Linuxu. Tímto způsobem nezapomenete, s čím máte co do činění, a máte nejmenší riziko poškození systému. Je tu ale ještě jedna nevyřešená otázka – co dělat s grafickými utilitami? Koneckonců, příkaz sudo je nespustí a spuštění grafického shellu jako root není bezpečné. To je to, na co se podíváme příště.

Graficky aplikace jako superuživatel

Pro začátek grafické aplikace existovat jménem superuživatele speciální pomůcky. Zachovají si všechny potřebné proměnné prostředí a oprávnění. V KDE je to příkaz kdesu a v Gnome příkaz gksu.

Stačí napsat gksu nebo kdesu a za ním požadovaný příkaz:

Tento příkaz se spustí správce souborů KDE s právy superuživatele. V Gnome to bude vypadat takto:

Program požádá o heslo v grafickém okně a poté se otevře správce souborů.

závěry

To je vše. Nyní víte, jak získat práva superuživatele v Linuxu, víte, jak používat příkaz sudo a jaký je rozdíl mezi sudo a su. Nyní vám programy, které vyžadují další oprávnění v systému, nebudou způsobovat problémy. Pokud máte nějaké dotazy, pište do komentářů!

uživatel root a sudo

Uživatel root na systémech GNU/Linux je uživatel, který má administrativní přístup do vašeho systému. Běžní uživatelé tento přístup nemají kvůli nedostatku přístupu. Kubuntu však nemá uživatele root. Místo toho je přístup pro správce udělen jednotlivým uživatelům, kteří mohou k provádění administrativních úkolů používat aplikaci „sudo“. První Účet, vytvořený během instalace systému bude mít ve výchozím nastavení přístup k aplikaci sudo. Přístup sudo můžete zakázat nebo udělit pomocí aplikace Uživatelé a skupiny (Viz „Uživatelé a skupiny“).

Pokud spustíte program, který vyžaduje práva superuživatele, sudo bude vyžadovat zadání vašeho normálního uživatelské heslo. Tím je zajištěno škodlivé aplikace nepoškodí váš systém a také vám připomene, že se chystáte provést administrativní akce, které vyžadují zvláštní péči!

Chcete-li použít sudo v příkazový řádek, stačí zadat "sudo" před příkaz, který chcete spustit. Poté vás sudo požádá o zadání hesla.

Sudo si zapamatuje vaše heslo nastavit čas(výchozí 15 minut). Tato funkce umožňuje uživatelům provádět velký počet administrativní úkoly, aniž byste museli pokaždé zadávat heslo.

Pozornost

Buďte opatrní při provádění administrativních úkolů - můžete zničit váš systém!

Několik tipů pro použití sudo:

    Chcete-li použít terminál uživatele root, zadejte do příkazového řádku "sudo -i".

    Celá skupina grafické pomůcky konfigurace v Kubuntu již používá sudo, takže v případě potřeby budete pomocí aplikace požádáni o heslo kdesu, který je grafický shell sudo .

    Za další informace podle programu sudo a nepřítomnost uživatele root v Kubuntu, viz stránka sudo na wiki Ubuntu.

Ruční spouštění programů s oprávněními root

Někdy je nutné spustit program s root oprávnění. To lze snadno provést pomocí dialogu Spustit příkaz .

Pozornost

Při spouštění aplikací s právy root buďte opatrní, protože to může zničit váš systém. Za dodatečné informace viz "Uživatel root a sudo".

    Otevřete dialog Spustit příkaz stisknutím Alt -F2

    Zadejte název programu, který chcete spustit, s předponou kdesu a stiskněte Vstupte. Například ke spuštění správce souborů Konqueror s oprávněními root, zadejte

    |

    Linux je operační systém pro více uživatelů, který využívá unixový koncept práv k zajištění zabezpečení na úrovni zabezpečení. souborový systém. Při práci s Linuxem je velmi důležité pochopit, co jsou oprávnění a vlastnictví. Tento článek vám pomůže pochopit základní pojmy související s uživatelskými právy Linuxu.

    Požadavky

    • Základní znalosti Linuxu.
    • Linux server (volitelně).

    uživatelé Linuxu

    Protože Linux je systém pro více uživatelů, je důležité pochopit, jak uživatelé a skupiny fungují. Podívejme se na tyto pojmy podrobněji.

    V Linuxu existují dva typy uživatelů: systémový a běžný. Uživatelé systému jsou navrženi tak, aby prováděli neinteraktivní a procesy na pozadí a běžní uživatelé jsou zodpovědní za dokončení interaktivních úkolů. Když se poprvé přihlásíte do systému Linux, možná jste si všimli, že se hodně spouští uživatelé systému, který zase spustí různé služby, na kterém je systém závislý.

    Chcete-li zobrazit všechny uživatele v systému, zkontrolujte soubor /etc/passwd. Každý řádek v tomto souboru obsahuje informace o jednotlivém uživateli, počínaje uživatelským jménem (před prvním znakem dvojtečky). Chcete-li zobrazit obsah souboru na obrazovce, zadejte:

    Superuživatel

    Kromě dvou hlavních typů uživatelů v Linuxu existuje také superuživatel neboli root. Tento uživatel může přepsat oprávnění souborů ostatních uživatelů a omezit přístup. Superuživatel má v podstatě přístupová práva ke všem souborům existujícím na serveru. Tento uživatel má právo provádět systémové změny, takže jeho bezpečnost je velmi důležitá pro bezpečnost samotného serveru.

    Můžete také nakonfigurovat ostatní uživatele, aby vykonávali oprávnění superuživatele. Chcete-li to provést, musíte otevřít běžnému uživateli přístup k příkazu sudo. V denní práce Doporučuje se, aby administrátor serveru používal právě takový účet s rozšířenými právy, protože pomocí root na trvalý základ nebezpečné a mohou zničit systém.

    Linuxové skupiny

    Skupiny jsou kolekce 0 nebo více uživatelů. Uživatel patří do výchozí skupiny a může být také členem kterékoli jiné skupiny.

    Chcete-li zobrazit všechny dostupné skupiny a seznamy jejich členů, otevřete soubor /etc/group.

    Vlastnictví souborů a přístupová práva

    V Linuxu každý soubor patří jednomu uživateli a jedné skupině a má individuální nastavení přístup.

    Chcete-li zobrazit oprávnění, použijte příkaz ls. Má dlouhý seznam voleb (např. ls -l myfile). Chcete-li zobrazit nastavení přístupu k souborům v aktuálním adresáři, spusťte příkaz bez argumentů:

    Chcete-li zjistit obsah adresáře /etc, zadejte:

    První sloupec výstupu označuje režim přístupu k souboru, druhý a třetí sloupec obsahuje uživatelské jméno a skupinu, čtvrtý - velikost souboru, pátý - jeho datum poslední změna, poslední sloupec zobrazuje název souboru.

    Obecně je výstup příkazu ls celkem snadno srozumitelný, snad až na první sloupec, který popisuje oprávnění k souboru. Vypadá to nějak takto:

    drwxrwxrwx
    drwxrwx ---
    -rw-rw----
    drwx------
    -rw-------

    Abychom pochopili, co tato písmena a pomlčky znamenají, rozdělme obsah sloupce na jeho složky. První řádek výše uvedeného příkladu lze rozdělit do následujících kategorií:

    d rwx(1) rwx(2) rwx(3)

    • d – pole typu souboru.
    • rwx(1) – práva uživatele, který soubor vlastní.
    • rwx(2) – práva vlastnící skupiny.
    • rwx(3) – práva ostatních uživatelů.

    Typy souborů

    V Linuxu existují dva hlavní typy souborů: běžné a speciální.

    Běžné soubory jsou v poli typu označeny pomlčkou. Běžné soubory jsou jednoduché soubory, do kterého lze ukládat data.

    Soubor je speciální, pokud pole typu obsahuje písmeno. Takové soubory se zpracovávají operační systém jinak než běžné soubory. Symbol v poli typu souboru označuje typ speciální soubory platí konkrétní soubor. Nejběžnějším typem speciálního souboru je adresář (nebo adresář), označený symbolem d (jako v příkladu výše). V Linuxový systém Existuje několik typů speciálních souborů, ale toto téma přesahuje rámec tohoto článku.

    Přístupové třídy

    Jak bylo uvedeno výše, každý soubor má nastavení pro tři kategorie(nebo přístupové třídy):

    1. uživatel – vlastník souboru;
    2. skupina - vlastník souboru (tato třída zahrnuje všechny členy skupiny, do které uživatel - vlastník souboru patří);
    3. a další uživatelé (tato třída zahrnuje všechny uživatele, kteří nepatří do předchozích tříd).

    Všechny distribuce Linuxu se řídí tímto pořadím oprávnění.

    Typy přístupu

    • r (čtení) – právo číst soubor,
    • w (zápis) – právo na změnu (editaci),
    • x (execute) – právo spustit (v některých speciální případy místo x může být použit jiný symbol).

    Pokud je místo symbolu spojovník, pak tato třída nemá odpovídající přístupové právo. Například:

    V tomto případě má uživatel a skupina – vlastníci souboru – veškerá přístupová práva a ostatním uživatelům je přístup k souboru zcela odepřen.

    Podívejme se blíže na to, co přesně jednotlivé typy přístupu poskytují.

    Poznámka: Pro zajištění normálního přístupu k souborům a adresářům se typy přístupu často používají ve vzájemné kombinaci.

    Povolení ke čtení souboru

    Právo číst běžný soubor je možnost prohlížet si jeho obsah.

    Oprávnění ke čtení v adresáři umožňuje uživateli zobrazit názvy souborů v něm uložených.

    Právo na změnu souboru

    V případě běžného souboru toto právo dává uživateli možnost změnit obsah souboru nebo jej smazat.

    Pokud má uživatel právo Upravit adresář, může tento uživatel smazat adresář, změnit jeho obsah (tj. vytvořit, přejmenovat nebo odstranit soubory v něm) a obsah souborů v něm uložených.

    Právo na spuštění

    S tímto právem může uživatel spustit běžný soubor, ale k tomu potřebuje také oprávnění ke čtení tento soubor. Musí být nastaveno oprávnění ke spuštění spustitelné programy a shell skripty.

    Pokud má uživatel právo spouštět adresář, pak může takový adresář číst a také přistupovat k jeho metadatům o uložených souborech.

    Příklady privilegií

    Nyní se podíváme na některé užitečné běžné příklady přístupová práva k souboru.

    • -rw——-: Přístup k souboru má pouze uživatel, který soubor vlastní.
    • -rwxr-xr-x: Každý uživatel v systému může spustit takový soubor.
    • -rw-rw-rw-: každý uživatel systému má právo takový soubor změnit.
    • drwxr-xr-x: tento adresář může číst každý uživatel v systému.
    • drwxrwx—: Obsah adresáře může číst a upravovat pouze vlastnící uživatel a skupina.

    Jak vidíte, uživatel, který vlastní soubor, má obvykle všechna práva k souboru (nebo má alespoň více práv než jiné třídy). Z bezpečnostních důvodů by soubory měly být přístupné pouze těm uživatelům, kteří k nim potřebují přístup z konkrétního důvodu.

    Existuje mnoho kombinací přístupových práv, ale pouze některé z nich jsou v daném případě užitečné. Například práva na úpravy a spouštění jsou téměř vždy kombinována s právy pro čtení souboru, protože soubor je obtížné upravit a nelze jej spustit bez práv pro čtení.

    Poznámka: Chcete-li se dozvědět, jak změnit přístupová práva, přečtěte si. Mluví o použití týmy chown, chgrp a chmod.

    Závěr

    Nyní jste obeznámeni se základními pojmy souvisejícími s oprávněními a vlastnictvím v prostředí Linuxu.

    Štítky:


Horní