GNU/Linux >> Znalost Linux >  >> Linux

Pochopení základních oprávnění k souborům a vlastnictví v Linuxu

Všechny soubory a adresáře v Linuxu mají standardní sadu přístupových oprávnění. Tato přístupová oprávnění řídí, kdo má k jakým souborům přístup, a poskytují základní úroveň zabezpečení souborů a adresářů v systému.

Oprávnění k prohlížení

Chcete-li zobrazit oprávnění pro soubory a adresáře, použijte ls -l nebo ls –n příkazy.

# ls -l file
-rw-r--r-- 1 root root 0 Nov 19 23:49 file

První pole informací zobrazené příkazem ls -l je typ souboru. Typ souboru obvykle určuje, zda se jedná o soubor nebo adresář. Soubor je reprezentován pomlčkou (-). Adresář je označen písmenem d.
Zbývající pole představují skupiny oprávnění:vlastník, skupina, a jiné .

Skupiny oprávnění

Existují tři skupiny oprávnění:

  1. Vlastník
  2. Skupina
  3. Jiné

Tabulka popisuje skupiny oprávnění a jejich rozsah:

Povolení Popis
Vlastník Oprávnění používaná přiřazeným vlastníkem souboru nebo adresáře
Skupina Oprávnění používaná členy skupiny, která vlastní soubor nebo adresář
Jiné Oprávnění používaná všemi uživateli kromě vlastníka souboru a členy skupiny, která vlastní soubor nebo adresář

Nastavení oprávnění

– Každá skupina oprávnění má tři oprávnění, nazývaná sada oprávnění.
– Každá sada se skládá z čtení , pište a spustit oprávnění.
– Každý soubor nebo adresář má tři sady oprávnění pro tři typy skupin oprávnění.
– První sada oprávnění představuje oprávnění vlastníka, druhá sada představuje oprávnění skupiny a poslední sada představuje ostatní oprávnění.
– Oprávnění ke čtení, zápisu a spouštění představují znaky r , w a x , respektive.
– Přítomnost kteréhokoli z těchto znaků, například r, znamená, že je uděleno příslušné oprávnění.
– Pomlčka ( ) symbol na místě znaku v sadě oprávnění označuje, že určité oprávnění je odepřeno.
– Linux přiděluje počáteční oprávnění automaticky, když je vytvořen nový soubor nebo adresář.

Povolení Přístup k souboru Přístup k adresáři
Přečtěte si (r) Můžete zobrazit obsah souboru a zkopírovat jej. Obsah adresáře můžete vypsat pomocí příkazu ls.
Napište (w) Můžete upravit obsah souboru. Můžete upravit obsah adresáře, například smazáním souboru. K tomu musíte mít také oprávnění ke spuštění.
Provést (x) Soubor můžete spustit, pokud se jedná o spustitelný soubor. Skript shellu můžete spustit, pokud máte také oprávnění ke čtení a spouštění. Pro přístup k adresáři můžete použít příkaz cd. Pokud máte také přístup ke čtení, můžete spustit příkaz ls -l v adresáři a vypsat obsah. Pokud nemáte přístup ke čtení, můžete spustit příkaz ls, pokud znáte název souboru.

Vlastnictví souboru

Každý soubor je vlastněn konkrétním uživatelem (nebo UID) a konkrétní skupinou (nebo GID). chown příkaz lze použít ke změně pouze uživatele nebo uživatele a skupiny souboru. Zde je příklad změny vlastníka souboru testu na uživatele a jeho skupiny na uživatele.

# ls -l test
-rw-r--r-- 1 root root 0 Nov 20 00:43 test
# chown user:user test
# ls -l test
-rw-r--r-- 1 user user 0 Nov 20 00:43 test

Základní formát příkazu chown je následující:

# chown user:group filename

tečka (.) lze použít místo dvojtečky (:) oddělovací znak. Také lze vynechat jméno uživatele nebo skupiny. Pokud je uživatelské jméno vynecháno (ale je přítomen oddělovací znak), chová se příkaz chown jako chgrp a změní se pouze vlastnictví skupiny. Pokud je vynechán název skupiny (ale je přítomen oddělovací znak, pak bude skupina nastavena na přihlašovací skupinu zadaného uživatele. Pokud je vynechán název skupiny i oddělovací znak, změní se pouze uživatelské jméno. Například , chcete-li změnit pouze vlastníka, můžete spustit následující:

# chown user filename

Alternativním příkazem pro změnu pouze skupiny souboru je příkaz chgrp. Například:

# chgrp group filename

Příkaz chgrp běžně používají normální uživatelé ke změně skupinového vlastnictví svých souborů. Příkaz chown normálně používá pouze uživatel root.

Výchozí vlastnictví skupiny

Každý uživatel může být členem mnoha skupin (uvedených v souboru /etc/group pod několika skupinami). Pouze jedna skupina bude primární skupinou uživatele (uvedená v záznamu uživatele v /etc/password). Když uživatel vytvoří soubor, ve výchozím nastavení bude soubor ve vlastnictví primární skupiny uživatele. Pokud chtějí, aby soubor vlastnila jedna z jejich dalších skupin, musí použít chgrp příkaz pro úpravu členství ve skupině. Například:

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file
$ ls -lrt file
-rw-rw-r-- 1 user user 0 Nov 20 00:52 file

Jak je uvedeno výše, nově vytvořený soubor (soubor) automaticky získá skupinu jako „uživatel“.

Oprávnění k souborům a adresářům

Níže je ukázkový výstup z ls -l příkaz; z prvního znaku každého řádku můžete vidět, že dir1 a dir2 jsou adresáře (označené d ) a že soubor1 a soubor2 jsou běžný soubor (označený ).

$ ls -l
total 0
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir1
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir2
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file1
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file2

Následujících devět znaků ukazuje oprávnění souboru pro uživatele, skupinu a ostatní (nebo všechny ostatní), jak je uvedeno níže, s přidanými závorkami pro srozumitelnost:

-(rw-)(rw-)(r--) 1 user user 0 Nov 20 00:55 file1

Nyní má vlastník oprávnění ke čtení a zápisu (rw-), skupina má oprávnění ke čtení a zápisu (rw-) a všichni ostatní mají oprávnění pouze ke čtení (r–). Tomu se říká symbolická reprezentace protože písmena jako r, w a x se používají k označení oprávnění.

Oprávnění mohou být také vyjádřena číselně:

r = 4; w = 2; x = 1

Přidejte každou sekci tak, aby oprávnění meta souboru (z výše uvedeného příkladu) byla 664. Zde je další způsob, jak se podívat, jak jsme k tomuto číslu přišli:

-(rw-)(rw-)(r--)
-(42-)(42-)(4--)
664

Přidáním čísel v každé sekci získáte oprávnění 664.

Změna oprávnění k souboru

Příkaz chmod se používá ke změně oprávnění souboru. Může být použit k symbolickému přidání nebo odebrání oprávnění. Chcete-li například přidat oprávnění ke spuštění pro vlastníka souboru, který byste spustili:

$ chmod u+x file_name

Nebo pro přidání oprávnění ke čtení a zápisu pro skupinu, která soubor vlastní, byste spustili:

$ chmod g+rw file_name

Místo přidávání oprávnění lze také použít symbolickou syntaxi chmod k odečtení nebo nastavení na nějakou absolutní hodnotu, jak je znázorněno v těchto příkladech:

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

Příkaz chmod může také explicitně nastavit oprávnění pomocí číselné reprezentace. Chcete-li například nastavit oprávnění k souboru na rwxrwxr–, spustili byste:

$ chmod 774 file_name

Kromě standardních oprávnění pro čtení, zápis a spouštění může chmod nastavit také speciální oprávnění. Jedná se o setuid bit, setgid bit a sticky bit. Následující příklady ukazují nastavení každého z těchto zvláštních oprávnění spolu se stručným popisem účinku těchto oprávnění.

$ chmod u+s file_name

Přidá setuid bit, takže, je-li spustitelný, bude tento soubor spuštěn s oprávněními jeho vlastníka.

$ chmod g+s file_name

Přidá setgid bit, takže, pokud je spustitelný, bude tento soubor spuštěn s oprávněními své skupiny. Když je toto nastaveno na adresář, všechny soubory vytvořené v adresáři budou mít stejnou skupinu jako adresář.

$ chmod o+t directory_name

Přidá lepivý bit takže uživatelé mohou odstraňovat pouze soubory z tohoto adresáře, které vytvořili.


Linux
  1. Jak zkopírovat oprávnění a vlastnictví souboru do jiného souboru v Linuxu

  2. Základy oprávnění k souborům Linux

  3. Oprávnění a ukládání souborů?

  1. Koncepty oprávnění souborů Linux

  2. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu

  3. Otázky k pohovoru s Linuxem – základní oprávnění k souborům a adresářům

  1. Oprávnění pro Linux:Úvod do chmod

  2. Linux chmod and chown – Jak změnit oprávnění a vlastnictví souborů v Linuxu

  3. Linux – Rozumíte unixovým oprávněním a typům souborů?