V této kapitole, budeme diskutovat podrobněji o souboru, povolení a režimy přístupu v Unix. Vlastnictví souborů je důležitou součástí Unixu, který poskytuje bezpečnou metodu pro ukládání souborů., Každý soubor v Unixu má následující atributy-
-
oprávnění vlastníka-oprávnění vlastníka určují, jaké akce může vlastník souboru provést v souboru.
-
oprávnění skupiny-oprávnění skupiny určují, jaké akce může uživatel, který je členem skupiny, do které soubor patří, provést v souboru.
-
Jiná (světová) oprávnění-Oprávnění pro ostatní označují, jakou akci mohou v souboru provést všichni ostatní uživatelé.,
Povolení Ukazatelů
Při použití ls-l, to zobrazuje různé informace vztahující se k souboru oprávnění takto −
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
Tady, první sloupec představuje různé režimy přístupu, tj. povolení spojené s souboru nebo adresáře.
oprávnění jsou rozděleny do skupin po třech a každá pozice ve skupině označuje zvláštní povolení, v tomto pořadí: číst (r), psát (w), spouštět (x) −
Přístup k Souboru Režimy
oprávnění souborů jsou první linii obrany v zabezpečení systému Unix., Základními stavebními kameny unixových oprávnění jsou oprávnění pro čtení, zápis a spuštění, která byla popsána níže −
Read
uděluje schopnost číst, tj. zobrazit obsah souboru.
Write
uděluje možnost upravit nebo odebrat obsah souboru.
Execute
uživatel s oprávnění execute může spustit soubor jako program.
Directory Access Režimy
Directory access režimy jsou uvedeny a uspořádány stejným způsobem, jako jakýkoli jiný soubor., Existuje několik rozdílů, které je třeba zmínil −
Přístup k adresáři znamená, že uživatel může číst obsah. Uživatel se může podívat na názvy souborů uvnitř adresáře.
Write
Access znamená, že uživatel může přidávat nebo mazat soubory z adresáře.
spustit
spuštění adresáře nemá smysl, takže to považujte za povolení traverse.
uživatel musí mít k provedení příkazu ls nebo CD přístup do adresáře bin.,
Změna oprávnění
Chcete-li změnit soubor nebo oprávnění adresáře, použijte příkaz chmod (change mode). Existují dva způsoby použití chmod-symbolický režim a absolutní režim.
použití chmod v symbolickém režimu
nejjednodušší způsob, jak začátečník upravit oprávnění souborů nebo adresářů, je použít symbolický režim. Se symbolickými oprávněními můžete přidat, smazat nebo zadat požadovanou sadu oprávnění pomocí operátorů v následující tabulce.
Sr.No., | Chmod operátor & Popis |
---|---|
1 |
+ přídá povolení(y) na soubor nebo adresář. |
2 |
odstraní určená oprávnění ze souboru nebo adresáře. |
3 |
= nastaví určené oprávnění(s). |
zde je příklad použití testfile., Běží ls -1 na testfile ukazuje, že soubor je oprávnění jsou následující −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Pak každý příklad chmod příkaz z předchozí tabulky je běh na testfile, následuje ls –l, takže můžete vidět změny oprávnění −
Zde je, jak můžete kombinovat tyto příkazy na jednom řádku −
$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
Pomocí chmod s Absolutní Oprávnění
druhý způsob, jak změnit oprávnění pomocí příkazu chmod je použít číslo zadejte každou sadu oprávnění pro tento soubor.,
každému oprávnění je přiřazena hodnota, jak ukazuje následující tabulka, a součet každé sady oprávnění poskytuje číslo pro tuto sadu.
zde je příklad použití testfile. Běží ls -1 na testfile ukazuje, že soubor je oprávnění jsou následující −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Pak každý příklad chmod příkaz z předchozí tabulky je běh na testfile, následuje ls –l, takže můžete vidět změny oprávnění −
Změna Majitele a Skupiny
Při vytváření účtu v systému Unix, to přiřadí ID vlastníka a ID skupiny, aby každý uživatel., Všechna výše uvedená oprávnění jsou také přiřazena na základě vlastníka a skupin.
pro změnu vlastníka a skupiny souborů jsou k dispozici dva příkazy-
-
chown − příkaz chown znamená „změnit vlastníka“ a slouží ke změně vlastníka souboru.
-
chgrp − příkaz chgrp znamená „změnit skupinu“ a slouží ke změně skupiny souboru.
změna vlastnictví
příkaz chown změní vlastnictví souboru., Základní syntaxe je následující:
$ chown user filelist
hodnoty uživatel může být buď jméno uživatele v systému nebo id uživatele (uid) uživatele v systému.
následující příklad vám pomůže pochopit koncept −
$ chown amrood testfile$
Změny vlastníka daného souboru, aby uživatel amrood.
poznámka-super uživatel, root, má neomezenou schopnost změnit vlastnictví jakéhokoli souboru, ale normální uživatelé mohou změnit vlastnictví pouze těch souborů, které vlastní.,
změna vlastnictví skupiny
příkaz chgrp mění vlastnictví skupiny souboru. Základní syntaxe je následující:
$ chgrp group filelist
hodnota skupiny může být název skupiny v systému nebo ID skupiny (GID) skupiny v systému.
následující příklad vám pomůže pochopit koncept –
$ chgrp special testfile$
změní skupinu daného souboru na speciální skupinu.
SUID a SGID Oprávnění Souboru
Často, když je příkaz spuštěn, bude muset být proveden s zvláštní privilegia ve snaze splnit svůj úkol.,
například při změně hesla příkazem passwd je nové heslo uloženo v souboru/etc / shadow.
jako běžný uživatel nemáte z bezpečnostních důvodů přístup ke čtení ani zápisu, ale při změně hesla musíte mít k tomuto souboru oprávnění k zápisu. To znamená, že program passwd vám musí poskytnout další oprávnění, abyste mohli psát do souboru /etc/shadow.
další oprávnění jsou poskytována programům prostřednictvím mechanismu známého jako set User ID (SUID) a Set Group ID (SGID) bitů.,
Když spustíte program, který má aktivovaný bit SUID, zdědíte oprávnění vlastníka tohoto programu. Programy, které nemají sadu bitů SUID, jsou spuštěny s oprávněními uživatele, který program spustil.
to je také případ sgid. Obvykle se programy provádějí s oprávněními skupiny, ale místo toho bude vaše skupina změněna pouze pro tento program na vlastníka skupiny programu.
bity SUID a SGID se zobrazí jako písmeno „s“, pokud je oprávnění k dispozici., Bit SUID „s“ bude umístěn v bitech oprávnění, kde obvykle sídlí oprávnění vlastníků.
například příkaz −
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
ukazuje, že bit SUID je nastaven a že příkaz je vlastněn kořenem. Velké písmeno S v pozici execute namísto malých písmen S znamená, že execute bit není nastaven.,
Pokud je sticky bit je povoleno na adresáři, soubory mohou být odstraněny pouze tehdy, pokud jste jedním z těchto uživatelů −
- majitel sticky adresáři
- vlastník souboru budou odstraněny
- super user, root
nastavit SUID a SGID bitů pro libovolného adresáře, zkuste následující příkaz:
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$