Fedora Linux - Terminál a příkaz ls #06
Obsah:
- Jak používat
chown
- Jak změnit vlastníka souboru
- Jak změnit vlastníka a skupinu souboru
- Jak změnit skupinu souboru
- Jak změnit vlastnictví symbolických odkazů
- Jak rekurzivně změnit vlastnictví souboru
- Použití referenčního souboru
- Závěr
Příkaz
chown
umožňuje změnit vlastnictví uživatele nebo skupiny daného souboru, adresáře nebo symbolického odkazu.
V systému Linux jsou všechny soubory spojeny s vlastníkem a skupinou a jsou jim přiřazena přístupová práva pro vlastníka souboru, členy skupiny a další.
V tomto tutoriálu vám ukážeme, jak používat příkaz
chown
pomocí praktických příkladů.
Jak používat
chown
Než se podíváme na to, jak používat příkaz
chown
, začneme kontrolou základní syntaxe.
Výrazy příkazů
chown
mají následující podobu:
chown USER FILE(s)
USER
je uživatelské jméno nebo ID uživatele (UID) nového vlastníka.
GROUP
je název nové skupiny nebo ID skupiny (GID).
FILE(s)
je název jednoho nebo více souborů, adresářů nebo odkazů. Číselná ID by měla být opatřena předponou
+
.
-
USER
- Pokud je zadán pouze uživatel, určený uživatel se stane vlastníkem daných souborů, vlastnictví skupiny se nezmění.USER:
- Pokud za uživatelským jménem následuje dvojtečka:
a název skupiny není uveden, uživatel se stane vlastníkem souborů a vlastnictví skupiny souborů se změní na přihlašovací skupinu uživatele.USER:GROUP
- Pokud je zadán uživatel i skupina (bez mezer mezi nimi), vlastnictví uživatele souborů se změní na daného uživatele a vlastnictví skupiny se změní na danou skupinu.:GROUP
- Pokud je Uživatel vynechán a skupina je předponována dvojtečkou:, změní se na danou skupinu pouze skupinové vlastnictví souborů.:
Je-li uveden pouze dvojtečka:, aniž by byl zadán uživatel a skupina, nedojde k žádné změně.
Ve výchozím nastavení
chown
při úspěchu nevytváří žádný výstup a vrací nulu.
Pomocí příkazu
ls -l
zjistěte, kdo vlastní soubor nebo do které skupiny soubor patří:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner
Skupinové vlastnictví souboru může změnit pouze uživatel root nebo uživatel s právy
sudo
.
Jak změnit vlastníka souboru
Chcete-li změnit vlastníka souboru, použijte jako argument příkaz
chown
následovaný uživatelským jménem nového vlastníka a cílovým souborem:
chown USER FILE
Například následující příkaz změní vlastnictví souboru s názvem
file1
na nového vlastníka s názvem
linuxize
:
chown linuxize file1
Chcete-li změnit vlastnictví více souborů nebo adresářů, zadejte je jako seznam oddělený mezerami. Příkaz níže změní vlastnictví souboru s názvem
file1
a adresáře
dir1
na nového vlastníka s názvem
linuxize
:
chown linuxize file1 dir1
Místo uživatelského jména lze použít číselné ID uživatele (UID). Následující příklad změní vlastnictví souboru s názvem
file2
na nového vlastníka s UID
1000
:
chown 1000 file2
Pokud numerický vlastník existuje jako uživatelské jméno, bude vlastnictví převedeno na uživatelské jméno. Chcete-li se vyhnout této předponě ID pomocí
+
:
Jak změnit vlastníka a skupinu souboru
Chcete-li změnit vlastníka a skupinu souboru, použijte příkaz
chown
následovaný novým vlastníkem a skupinou oddělenou dvojtečkou (:) bez mezer a cílového souboru.
chown USER:GROUP FILE
Následující příkaz změní vlastnictví souboru s názvem
file1
na nového vlastníka s názvem
linuxize
a group
users
:
chown linuxize:users file1
Pokud vynecháte název skupiny za dvojtečkou (:), změní se skupina souboru na přihlašovací skupinu zadaného uživatele:
Jak změnit skupinu souboru
Chcete-li změnit pouze skupinu souboru, použijte jako argument příkaz
chown
následovaný dvojtečkou (
chown
a novým názvem skupiny (bez mezery) a cílovým souborem:
chown:GROUP FILE
Následující příkaz změní vlastní skupinu souboru s názvem
file1
na
www-data
:
chown:www-data file1
Další příkaz, který můžete použít ke změně vlastnictví souborů ve skupině, je
chgrp
.
Jak změnit vlastnictví symbolických odkazů
Pokud není použita rekurzivní volba, příkaz
chown
změní vlastnictví skupiny souborů, na které odkazuje symbolický odkaz, nikoli samotné symbolické odkazy.
Pokud se například pokusíte změnit vlastníka a skupinu symbolického odkazu
symlink1
který odkazuje na
/var/www/file1
,
chown
změní vlastnictví souboru nebo adresáře, na který odkazuje symlink:
chown www-data: symlink1
Je pravděpodobné, že namísto změny cílového vlastnictví se zobrazí chyba „nelze dereference 'symlink1': Oprávnění odepřeno“.
K chybě dochází, protože ve výchozím nastavení je většina linuxových distribucí chráněna symbolickými odkazy a nemůžete pracovat s cílovými soubory. Tato volba je uvedena v
/proc/sys/fs/protected_symlinks
.
1
znamená povoleno a
0
deaktivováno. Doporučujeme ochranu symlink deaktivovat.
Chcete-li změnit vlastnictví skupiny samotného symbolu, použijte volbu
-h
:
Jak rekurzivně změnit vlastnictví souboru
Chcete-li rekurzivně pracovat se všemi soubory a adresáři v daném adresáři, použijte volbu
-R
(
--recursive
):
chown -R USER:GROUP DIRECTORY
Následující příklad změní vlastnictví všech souborů a podadresářů v adresáři
/var/www
na nového vlastníka a skupinu s názvem
www-data
:
chown -R www-data: /var/www
Pokud adresář obsahuje symbolické odkazy, předejte volbu
-h
:
chown -hR www-data: /var/www
Další možnosti, které lze použít při rekurzivní změně vlastnictví adresáře, jsou
-H
a
-L
.
Pokud je argument předaný příkazu
chown
symbolickým odkazem, který odkazuje na adresář, volba
-H
způsobí, že příkaz tento příkaz projde.
-L
řekne
chown
aby procházel každý symbolický odkaz do adresáře, na který se narazí. Obvykle byste tyto možnosti neměli používat, protože by se váš systém mohl pokazit nebo vytvořit bezpečnostní riziko.
Použití referenčního souboru
Volba
--reference=ref_file
vám umožňuje změnit uživatelské a skupinové vlastnictví daných souborů tak, aby odpovídaly vlastníkům zadaného referenčního souboru (
ref_file
). Pokud je referenční soubor symbolickým odkazem, bude
chown
používat uživatele a skupinu cílového souboru.
chown --reference=REF_FILE FILE
Například následující příkaz přiřadí uživatelské a skupinové vlastnictví
file1
k
file2
Závěr
chown
je utilita příkazového řádku systému Linux / UNIX pro změnu vlastnictví souboru a / nebo vlastnictví souboru.
Chcete-li se dozvědět více o příkazu
chown
navštivte stránku
man chown
do svého terminálu napište
man chown
.
Příkaz Chmod v Linuxu (oprávnění souboru)

V Linuxu je přístup k souborům spravován prostřednictvím oprávnění k souborům, atributů a vlastnictví. Tento tutoriál popisuje, jak pomocí příkazu chmod změnit přístupová oprávnění k souborům a adresářům.
Příkaz Cp v Linuxu (kopírování souborů)

cp je obslužný program příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux.
Příkaz Fsck v Linuxu (oprava systému souborů)

fsck (kontrola systému souborů) je obslužný program příkazového řádku, který umožňuje provádět kontroly konzistence a interaktivní opravy na jednom nebo více systémech souborů Linux.