GNU/Linux >> Znalost Linux >  >> Linux

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

Vlastnictví souboru

Každý soubor je vlastněn konkrétním uživatelem (nebo UID) a konkrétní skupinou (nebo GID). Příkaz chown lze použít ke změně pouze uživatele nebo uživatele a skupiny souboru. Zde je příklad změny vlastníka souboru „file1“ na „user“ a jeho „user“ na uživatele. Všimněte si, že použití příkazu ls -l slouží pouze k zobrazení změny a není nezbytným krokem při změně vlastnictví souboru:

# ls -l
total 8
-rw-r--r--. 1 root root  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l
total 8
-rw-r--r--. 1 user user  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2

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

# chown user.group filename

Místo oddělovače tečky (.) lze použít dvojtečku (:).

# chown user:group filename

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, 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.

Chcete-li například 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í k úpravě členství ve skupině použít příkaz chgrp.

Pohodlnější způsob, jak toho dosáhnout, je dočasně se přihlásit k jiné skupině, čímž se tato skupina stane vaší náhradní primární skupinou. Tímto způsobem budou všechny nové soubory, které vytvoříte, automaticky ve vlastnictví požadované skupiny a nebudete muset ručně měnit členství ve skupině. Prohlédněte si níže uvedený příklad a všimněte si použití newgrp příkaz.

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1
$ ls -l file1
-rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel
$ touch file2
$ ls -l file2
-rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2

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

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

$ ls -l
drwxr-xr-x 2 user user    6 Jan  7  2015 Desktop
-rw-rw-r-- 1 user user    0 Feb 16 14:17 file1
-rw-r--r-- 1 user wheel   0 Feb 16 14:22 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-) (r--) (r--) 1 user wheel   0 Feb 16 14:22 file2

Nyní má vlastník oprávnění ke čtení a zápisu (rw-), skupina a všichni ostatní mají pouze oprávnění ke čtení (r–). Toto se nazývá symbolické znázornění, 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--)
 6       6       4

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

Změna oprávnění k souboru

chmod příkaz 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


Linux
  1. Jak spravovat možnosti souborů Linux

  2. Jak přidat uživatele do skupiny v Linuxu

  3. Jak vytvořit a odstranit uživatelskou skupinu v Linuxu

  1. Jak spravovat uživatele pomocí useradd v linuxu

  2. Linux – Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?

  3. Priorita uživatele a vlastníka skupiny v oprávněních k souboru?

  1. Jak zajistit, aby byly soubory a adresáře neodstranitelné, a to i přes kořen v Linuxu

  2. Jak spravovat vypršení platnosti uživatelského hesla a stárnutí v Linuxu

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