GNU/Linux >> Znalost Linux >  >> Linux

Vše, co potřebujete vědět o Linux Chmod Command

Pokud jste obeznámeni se souborovým systémem Linux, víte, že všechny systémové soubory jsou uloženy v kořenovém (/) adresáři. Linux vyhrazuje určitá oprávnění k systému souborů pouze pro uživatele root. Hlavní rozdíl mezi souborovým systémem operačního systému založeného na Linuxu a jinými operačními systémy spočívá v tom, že Linux si vyhrazuje určitá oprávnění k souborovému systému. Pokud nejste uživatel root, nemůžete odstranit, přesunout ani upravit kořenové soubory ze svého systému. Pokud máte například na svém systému Linux spuštěn server localhost, nemůžete přesunout konfigurační soubory serveru bez oprávnění root. Dokonce ani vy nemůžete změnit nastavení konfigurace bez oprávnění root. Chcete-li změnit stav souborového systému, musíte znát příkazy chmod. Příkaz chmod vám umožňuje číst, zapisovat a spouštět soubory v systému Linux.

Příkaz Chmod v systému Linux

Linux se nepoužívá pouze pro spolehlivost a bezpečnost; používá se také pro multifunkční účely. Můžete provozovat servery, aktivity pro více uživatelů a další. Problém nastane, když ke svému systému přiřadíte uživatele, ale neudělíte rootovi přístup. Někdy tento uživatel může potřebovat provést nějakou práci superuživatele, aby nakonfiguroval a zprovoznil prostředí.

Přichází pojem příkazu chmod pro Linux. Jak jsem řekl dříve, Linux se nepoužívá pouze pro multitasking nebo multifunkční práci; používá se také pro více uživatelů. Příkaz chmod může v systému Linux upravit čtení, zápis a spouštění úloh pouze pomocí hesla root.

V celém příspěvku probereme rozdíly mezi příkazy chmod 777, chmod 755 nebo chmod 600 a dalšími dalšími příkazy chmod v systému Linux.

Pokud jste linuxový nadšenec, můžete následovat tento odkaz a získat podrobnější informace o příkazu chmod v Linuxu. Na následujícím odkazu naleznete tabulku, jak je znázorněna na obrázku níže. Musíte zadat hodnotu konkrétního oprávnění. Tabulka vám automaticky ukáže, jaký typ oprávnění jsou definovány konkrétními příkazy.

Znáte aktuální stav oprávnění souboru/adresáře v systému Linux

Nyní existují způsoby, jak zkontrolovat podrobnosti oprávnění souboru nebo adresáře v Linuxu. Ke kontrole stavu oprávnění souboru můžete použít metodu GUI nebo metodu CLI. Zde se naučíme oba způsoby, jak zjistit aktuální stav oprávnění souboru v našem systému.

Metoda 1:Použijte metodu GUI ke kontrole stavu oprávnění

Použití metody grafického uživatelského rozhraní je nejsnazší metodou, jak zkontrolovat jakékoli podrobnosti o souboru v systému Linux. Stačí vybrat soubor a kliknout na něj pravým tlačítkem. V rozevírací nabídce najdete možnost Vlastnosti. Vyberte možnost Vlastnosti, která otevře nové dialogové okno.

--

V dialogovém okně klikněte na nabídku Oprávnění. Zde najdete podrobné informace o stavu oprávnění v souboru. Můžete zobrazit informace o vlastníkovi, přístupové záznamy, informace o skupině a bezpečnostní obsah tohoto souboru.

Metoda 2:Metoda CLI ke zjištění stavu oprávnění souboru

Pokročilí uživatelé Linuxu vždy chtějí použít metodu CLI k dokončení jakéhokoli úkolu. Tady to je, můžete zkontrolovat stav čtení, zápisu a spouštění jakéhokoli souboru nebo adresáře z vašeho terminálu Linux. V této metodě použijeme příkazy dlouhého seznamu (ls -l) k získání stavu oprávnění.

Můžete si udělat představu, když se podíváte na následující příkazové řádky terminálu uvedené níže o získání stavu oprávnění libovolného souboru pomocí rozhraní příkazového řádku terminálu.

cd Documents
ls
ls -l sampledata.zip

Zde můžete vidět, že výstupní výsledek začíná pomlčkou (-), což znamená, že ukázka je soubor, nikoli adresář. Symbol adresáře začíná písmenem d. Poté rw označuje oprávnění ke čtení a zápisu tohoto souboru.

Chcete-li spustit ukázku, můžete spustit následující příkazové řádky uvedené níže a vytvořit nový soubor a zobrazit oprávnění k tomuto souboru.

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

Na obrázku výše můžete vidět, že oprávnění je zapsáno jako -rw-rw-r-- 1; zde rw symbol znamená, že soubor má oprávnění pro čtení i zápis. A číselný znak 1 znamená, že uživatel má oprávnění ke spuštění souboru. Níže jsou vysvětleny základní číselné syntaxe oprávnění.

  • 0 =Uživatel má oprávnění číst, zapisovat a spouštět soubor.
  • 1 =Aktuální uživatel má oprávnění ke spuštění souboru.
  • 2 =  Uživatelské oprávnění k zápisu souboru.
  • 3 =Uživatel má oprávnění zapisovat a spouštět soubor.
  • 4 =Uživatel má oprávnění pouze pro čtení.

Porozumění syntaxi a příkazu chmod v systému Linux

Příkaz chmod má několik syntaxí, které potřebujete znát, abyste porozuměli výstupu příkazu. Zde uvádím vysvětlení velmi základních syntaxí příkazu Chmod v Linuxu. V této fázi se také naučíme několik primárních příkazů chmod, které možná budete muset používat denně.

  • u u syntaxe uvádí uživatele, který vlastní soubor nebo adresář.
  • g g syntaxe uvádí skupinu, kam soubor patří.
  • o o syntaxe uvádí, že soubor je vlastněn všemi uživateli.
  • a a syntaxe uvádí, že soubor je vlastněn všemi uživateli a skupinami.
  • r r syntaxe uvádí, že soubor má oprávnění pouze pro čtení.
  • w w syntaxe uvádí, že má oprávnění k zápisu souboru.
  • x x syntaxe uvádí, že aktuální uživatel má oprávnění spustit soubor.
  • syntaxe uvádí, že uživatel má oprávnění soubor zahodit.

1. chmod -R 755:Upravit oprávnění k celému adresáři

Chmod 755 se často používá jako -R 755 v prostředí Linuxu k úpravě oprávnění souborového systému. Pokud nemůžete zapisovat nebo odstraňovat soubory z libovolného adresáře, můžete spustit příkazy chmod 775 na vašem terminálovém shellu Linuxu. Příkaz chmod -R 775 má pravomoc změnit oprávnění pro celý adresář namísto jednoho souboru.

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

Na obrázku níže můžete vidět, že výstup seznamu protokolů (ls -l) již změnil oprávnění ke čtení, zápisu a spouštění pro adresář.

2. chmod 777:Povolit oprávnění pro všechny uživatele

Zde uvidíme použití příkazů chmod 777 v systému Linux. V zásadě jsou všechny příkazy chmod spojeny se souborovým systémem Linux. Abyste lépe porozuměli příkazům chmod, doporučuji vám také znát hierarchii souborového systému Linuxu.

K zápisu a spuštění souboru se však v Linuxu používají příkazy chmod 777. Následující příkazy terminálu vám mohou pomoci získat základní představu o tom, jak příkaz chmod 777 funguje na Linuxu.

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

Na obrázku výše můžete vidět, že výstup začíná dr syntaxi a má wxr syntaxe spolu s ním, což znamená, že cílová cesta je adresář a má oprávnění pro zápis, spouštění a čtení. Na konci výstupu číselná hodnota 3 označuje, že proud má oprávnění zapisovat a spouštět adresář.

3. chmod +x :Oprávnění ke spuštění souboru/adresáře

Zde přichází nejrizikovější příkaz chmod pro Linux. Pokud jste v systému Linux nováčkem, nedoporučoval bych ve vašem systému používat příkaz chmod +x. V zásadě se příkaz chmod+x používá ke spuštění souboru nebo k ukončení procesu. S mocí superuživatele můžete spustit příkaz chmod+x a zničit celý váš systém.

Zde je několik příkazů chmod+x pro systémy Linux, které můžete pro lepší pochopení sledovat. Číselný znak 1 ve výstupní hodnotě symbolizuje, že aktuální uživatel má oprávnění ke spuštění souboru.

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4. chmod 755:Umožněte uživateli root číst a zapisovat soubory v systému Linux

Dříve jsme viděli použití příkazu chmod -R 755 pro systémy Linux; ale nyní uvidíme použití chmod 755 na systému Linux. Hlavní rozdíl mezi chmod -R 755 a chmod 755 je ten, že -R 775 umožňuje všem uživatelům upravovat celý adresář, kde příkaz 775 umožňuje pouze uživateli root číst a zapisovat souborový systém.

Pro spouštění příkazů chmod 755 na vašem terminálovém shellu Linuxu můžete postupovat podle následujících metod.

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5. chmod 700:Povolit čtení, zápis a spouštění oprávnění pro vlastníka

Pokud jste vlastníkem svého systému Linux a stále nemůžete zapisovat nebo spouštět konkrétní soubor ze svého souborového systému, může k tomu dojít kvůli tomu, že nemáte správné oprávnění k systému. Proč bych potřeboval získat oprávnění ke spouštění souborů z mého počítače, když jsem uživatel root?

Možná už víte, že souborový systém Linux nefunguje jako Windows nebo jiné operační systémy. Linux se chce ujistit, že víte, co děláte. To je důvod, proč i když jste vlastníkem, možná budete muset získat oprávnění chmod 700 ke spuštění konkrétního souboru z vašeho systému Linux.

Níže můžete vidět následující příkazy terminálu, abyste pochopili, jak příkaz chmod 700 funguje na Linuxu.

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

Na obrázku výše můžete vidět, že chmod je spuštěn jako uživatel root a bez oprávnění root nemůžete vidět výsledek s dlouhým seznamem (ls-l).

6. chmod 666:Zakázat spouštění pro všechny uživatele v systému Linux

Jako systémový správce Linuxu mě osobně velmi zaujaly příkazy chmod 666. Tento příkaz je velmi užitečný pro ty, kteří musí vzdáleně pracovat z jednoho systému do druhého. Někdy klienti získají neshody se souborovým systémem. Můžete přidat pravidlo chmod 666 pro všechny adresáře, aby se naivní uživatelé nemohli neshodovat se souborovým systémem.

Vraťme se k věci; v Linuxu chmod 666 zakáže oprávnění ke spuštění souborů nebo adresářů pro všechny uživatele. Příkazy chmod 666 umožňují uživatelům pouze číst a zapisovat soubory. Níže můžete vidět příkazové řádky terminálu, abyste získali lepší představu o tom, jak příkazy chmod 666 fungují v systému Linux.

sudo chmod -c 666 /path/to/file

7. chmod 644:Přístupové oprávnění pouze pro čtení pro všechny uživatele

Pokud jste sysadmin nebo vlastník místního FTP serveru, tento příkaz vám pomůže. Můžete nastavit pravidla pro uživatele nebo návštěvníky pouze pro prohlížení a stahování souboru. Tímto způsobem budou vaše soubory uchovány v bezpečí a můžete je sdílet mezi mnoha uživateli.

V Linuxu funguje příkaz chmod 644 pro soubory i adresáře. Příkazy chmod 644 můžete nastavit v jakémkoli souborovém systému Linuxu, serveru nebo serveru přehrávače médií, jako je Plex nebo Emby. Zde je příklad, jak můžete spouštět příkazy chmod 644 v systému Linux.

sudo chmod 644 /path/to/file

8. chmod 600:Povolit čtení a zápis, ale žádné provedení

Předpokládejme, že pracujete pro nadnárodní společnost, abyste pracovali na serveru místní sítě a sdíleli dokumenty nebo soubory se svými kolegy. V takovém případě jim možná nebudete chtít udělit oprávnění k odstranění jakýchkoli souborů z vašeho osobního adresáře.

K vyřešení tohoto problému mohou uživatelé Linuxu použít příkazy chmod 600. Příkaz chmod 600 umožňuje uživatelům nebo klientům číst a zapisovat soubor a adresáře. Nedovoluje jim však smazat nebo spustit adresáře. Nikdo kromě vás nemůže spouštět soubory z vašeho systému v systému chráněném chmod 600.

sudo chmod 600 /path/to/file/

Další tipy – 1:Použijte příkaz Chmod k instalaci balíčků v systému Linux

Doposud jsme viděli velmi málo základních příkazů chmod pro distribuce Linuxu pro přístup nebo odepření oprávnění k souborovému systému. Věděli jste ale, že v systému Linux existuje také použití příkazu chmod? Ano, nejčastěji budete možná muset spustit příkazy chmod k instalaci balíčku na váš systém Linux.

Po stažení souboru binárního balíčku aplikace ji přímo nainstalujete do svého systému Linux pomocí příkazů chmod. Zde je příklad toho, jak vypadají příkazy chmod při instalaci balíčků pomocí příkazu chmod na vašem systému Linux.

$ chmod +x install.sh
$ sudo ./install.sh

Další tipy – 2:Použijte příkaz Chmod k řešení chyb začátečníků v systému Linux

Protože příkaz chmod je v Linuxu velmi výkonný, měli byste s tímto příkazem zacházet velmi opatrně. Jen proto, že máte práva root, prostě nemůžete spustit chmod do žádného adresáře. Spuštění příkazu chmod bez pochopení vás může stát hodně. Nyní uvidíme několik problémů, které se mohou vyskytnout, pokud neopatrně spustíte příkazy chmod na vašem systému Linux.

Případ 1: Shodou okolností spusťte příkaz chmod 655 a nelze provést práci superuživatele

Pokud spustíte chmod 655 do vašeho kořenového (/) adresáře, je možné, že již nebudete mít root přístup k vašemu linuxovému souborovému systému. Pokud jste již tuto chybu udělali, nemusíte se obávat; existuje způsob, jak obnovit kořenová oprávnění vašeho systému.

Musíte získat živý USB disk nebo CD s operačním systémem Linux, poté jej vložit a přejít do režimu živé relace. Poté spusťte následující příkaz chmod na vašem terminálovém shellu, abyste získali zpět svá práva root.

sudo chmod /path/to/root/ 755

Případ 2:Přidat oprávnění po zrušení oprávnění

Občas se může stát, že dojde k chybě, když se nepovolí oprávnění k jednomu adresáři místo jinému adresáři. V takovém případě můžete dočasně ztratit přístup k adresáři. Chcete-li vyřešit problémy, jako je tento, musíte nejprve opravit adresář, který jste omylem spustili. Chcete-li pochopit, jak funguje příkaz chmod na Linuxu, můžete se řídit příkazovým řádkem uvedeným níže.

sudo chmod a-x /directory_that_you_accidentally_dropped

Nyní spusťte na svém linuxovém terminálu následující příkaz chmod a opravte adresář.

sudo chmod a+X /directory_that_you_accidentally_dropped

Případ 3:Odepření oprávnění k přihlášení k serveru Linux

Pokud jste správcem serveru Linux a spouštíte příkazy chmod 444 na cestě správce serveru, je možné, že již nebudete mít přístup k serveru. V takovém případě musíte v shellu terminálu spustit následující příkazy chmod 555, abyste problém vyřešili.

sudo chmod 555 <directory_path>

Zde je ještě jeden tip, pokud spustíte příkazy chmod 000 v libovolném adresáři, nikdo kromě uživatele root nemůže tento adresář číst a zapisovat.

Poslední slova

V Linuxu jsou příkazy chmod velmi užitečné, když se zaseknete s povolením souborového systému. Jako správce systému Linux musíte znát všechny primární příkazy chmod v systému Linux. V celém příspěvku jsem popsal nejpoužívanější linuxový příkaz chmod. Také jsem ukázal, jak zachránit váš systém před nováčkovskými chybami příkazu chmod. Pokud potřebujete další pomoc s příkazem chmod, můžete kdykoli otevřít terminál Linux a chmod --help .

Pokud se vám tento příspěvek líbí a považujete jej za užitečný, sdílejte jej se svými přáteli a linuxovou komunitou. Můžete také zmínit, zda jsem vynechal nějaké zásadní příkazy chmod. Doporučujeme vám také napsat své názory na tento příspěvek do sekce komentářů.


Linux
  1. Příkaz Chmod v Linuxu (oprávnění k souboru)

  2. Vše, co potřebujete vědět o Ubuntu 13.04

  3. 10 základních linuxových příkazů, které potřebujete znát

  1. Linuxová komprese souborů:Vše, co potřebujete vědět

  2. Oprávnění souborů Linux:Vše, co potřebujete vědět

  3. Swappiness v Linuxu:Vše, co potřebujete vědět

  1. Vše, co potřebujete vědět o systému souborů Linux

  2. Vše, co potřebujete vědět o Linuxových kontejnerech (LXC)

  3. Vše, co potřebujete vědět o serveru Linux Ubuntu