chmod je nástroj příkazového řádku Linuxu používaný ke změně přístupových oprávnění k souborům a adresářům. Je to velmi užitečné ve víceuživatelském prostředí, kde chcete omezit soubory a adresáře tak, aby k nim měli přístup pouze oprávnění uživatelé a procesy. Příkaz chmod znamená „režim změny“ a používá se k omezení způsobu přístupu k souboru.
V tomto příspěvku vám ukážeme, jak používat příkaz chmod v Linuxu.
Předpoklady
- Server se systémem Linux na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a vyberte libovolný operační systém Linux s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Základní syntaxe
Základní syntaxe příkazu chmod v symbolickém formátu je uvedena níže:
chmod u=rwx,g=rwx,o=rwx file_name/dir_name
Kde:
- u – uživatel
- g – skupina
- o – jiné
- r – číst
- w – napište
- x – spustit
Základní syntaxe příkazu chmod v číselném formátu je uvedena níže:
chmod 777 file_name/dir_name
Kde:
- Prvních 7 představuje uživatelská oprávnění
- Druhá 7 představuje skupinová oprávnění
- Třetí 7 představuje další oprávnění
Každá z číslic je kombinovaným součtem čísel 4, 2, 1 a 0.
Kde:
- 4 – číst
- 2 – napište
- 1 – provést
- 0 – žádná oprávnění
Zobrazení oprávnění k souboru
Před změnou oprávnění k souboru a adresáři je důležité zobrazit stávající oprávnění k souboru a adresáři.
Spusťte následující příkaz ke kontrole stávajících oprávnění všech souborů umístěných v aktuálním adresáři:
ls -l
Získáte následující výstup:
-rw-rw-r-- 1 vyom vyom 1961 Feb 13 18:28 system-back.tar.gz -rw-rw-r-- 1 vyom vyom 1961 Feb 13 18:23 system-back.tar.gzip drwxr-xr-x 2 vyom vyom 4096 Oct 25 00:27 Templates -rwxrwxrwx 1 vyom vyom 119707966 Dec 7 00:31 Udeler-1.8.2-linux-x86_x64.AppImage -rw-rw-r-- 1 vyom vyom 93 Mar 29 21:57 'Untitled Document 1' drwxr-xr-x 7 vyom vyom 4096 Mar 28 10:19 Videos drwxrwxr-x 3 vyom vyom 4096 Nov 5 09:00 'VirtualBox VMs'
Na každém řádku první znak označuje typ položky, která je uvedena. Pokud je to pomlčka (-) , je to soubor. Pokud je to písmeno d , je to adresář.
Následujících devět znaků představuje nastavení pro tři sady oprávnění.
- První ze tří sad znaků rw- zobrazuje oprávnění pro uživatele, který soubor vlastní.
- Druhá ze tří sad znaků rw- zobrazuje oprávnění pro členy skupiny souboru.
- Třetí ze tří sad znaků r– zobrazuje oprávnění pro ostatní.
Jak používat příkaz Chmod
Nyní, když rozumíme různým typům oprávnění, změňme oprávnění souboru pomocí několika příkladů.
Chcete-li změnit oprávnění souboru s názvem file1.txt tak, aby jej každý mohl číst a zapisovat, spusťte následující příkaz:
chmod u=rw,g=rw,o=rw file1.txt
Nebo
chmod 666 file1.txt
Chcete-li změnit oprávnění souboru s názvem file1.txt takže vlastník souboru může číst, zapisovat a spouštět, zatímco skupina a ostatní mohou číst a spouštět:
chmod u=rwx,g=r-x,o=r-x
Nebo
chmod 755 file1.txt
Chcete-li udělit oprávnění ke čtení, zápisu a spouštění vlastníkovi a oprávnění ke čtení skupině a ostatním do adresáře s názvem dir1 včetně všech podadresářů a souborů, použijte parametr -R:
chmod -R u=rwx,g=r,o=r dir1
Nebo
Chmod -R 744 dir1
Chcete-li udělit oprávnění ke spuštění všem v souboru s názvem file1.txt , spustit:
chmod +x file1.txt
Chcete-li odebrat oprávnění k zápisu ostatním uživatelům, spusťte následující příkaz:
chmod o-w file1.txt
Chcete-li rekurzivně odebrat oprávnění ke čtení pro ostatní uživatele v daném adresáři, spusťte:
chmod -R o-r dirname
Chcete-li odebrat oprávnění ke čtení, zápisu a spouštění všem uživatelům kromě vlastníka souboru, spusťte:
chmod og-rwx file1.txt
Chcete-li zkopírovat oprávnění souboru file1.txt a použijte jej na soubor2.txt , spustit:
chmod --reference=file1.txt file2.txt
Závěr
V tomto příspěvku jste se naučili, jak pomocí příkazu chmod změnit oprávnění k souborům a adresářům v Linuxu. Zkuste to na VPS hostingu od Atlantic.Net!