Příkaz chmod v Linuxu s příklady

Příkaz chmod v Linuxu s příklady

The chmod (change mode) příkaz v Linux/UNIX se používá k nastavení nebo úpravě oprávnění k souborům a adresářům. Každý soubor v Linuxu má vlastníka, skupinu a přidružená oprávnění, která určují, kdo může číst, zapisovat nebo spouštět soubor. Použití chmod Správci a uživatelé mohou tato oprávnění ovládat, aby zajistili správný přístup a zabezpečení. Podívejme se na příklad

Použijte příkaz chmod udělením oprávnění 745

Příkaz:

 chmod 745 newfile.txt  

výstup:

chmod

Rozdělení na -rwxr--r-x :

  • Majitel ( 7 ): rwx > čtení zápis spustit
  • Skupina ( 4 ): r-- > pouze pro čtení
  • Ostatní ( 5 ): r-x > číst a provádět

Zde je soubor:

  • Plně přístupné (čtení/zápis/spouštění) vlastníkem
  • Pouze pro čtení pro skupinu
  • Přečíst + spustit pro ostatní

Syntaxe příkazu chmod

 chmod [options] [mode] [File_name]   

Zde

  • Možnosti: Volitelné příznaky, které upravují chování souboru chmod příkaz.
  • režim: Oprávnění, která mají být nastavena, reprezentovaná třímístným osmičkovým číslem nebo symbolickým zápisem (např. u=rwgo=rx).
  • File_name: Název souboru nebo adresáře, pro který se mají změnit oprávnění.

Možnosti dostupné v chmod Command Linux

Zde jsou některé užitečné možnosti chmod Příkaz v Linuxu

Režim Majitel Skupina Ostatní Typické použití pro skripty
700 rwx --- --- Soukromý skript (pouze vy můžete spustit/upravit).
711 rwx --x --x Pouze spustitelný soubor/přechod; obsah nečitelný.
744 rwx r-- r-- Můžete upravit a spustit; ostatní mohou číst (ne provádět).
750 rwx r-x --- Spustitelný pouze pro tým; skryté před ostatními.
754 rwx r-x r-- Exec pro skupinu jen pro čtení pro ostatní.
755 rwx r-x r-x Běžné: všichni mohou spustit úpravy pouze vy.
775 rwx rwx r-x Sdíleno ve skupině (upravovat/spouštět může vlastník i skupina).

Poznámka: Možnosti v `chmod` se v podstatě používají k provádění hromadných změn a úpravě oprávnění ve více souborech nebo adresářích najednou.

Klíčové typy oprávnění:

V Linuxu oprávnění určit, kdo má kontrolu nad souborem nebo adresářem. Tato oprávnění určují, kdo může číst (přístup), zapisovat (upravovat nebo mazat) nebo spouštět (spouštět) soubor na základě uživatelských rolí: skupina vlastníků a další.

  • Přečtěte si ( r ): Umožňuje prohlížení obsahu souboru.
  • Napište ( w ): Umožňuje úpravu souboru nebo adresáře.
  • Provést ( x ): Umožňuje spuštění souboru jako programu nebo vstup do adresáře.

Příklady použití osmičkového režimu:

Předpokládejme, že udělíme oprávnění ke čtení a zápisu vlastníkovi souboru. Oprávnění ke čtení a zápisu do skupiny. Oprávnění pouze ke čtení pro ostatní. Oni by byli naším velením.

 chmod 674 [file_name]  

Zde.

  • 6 představují povolení vlastníka souboru, které jsou (rw-).
  • 7 představují povolení skupiny, které jsou (rwx).
  • 4 představují povolení Jiného, ​​což je (r--).

Poznámka: Pomocí chmod kalkulačka.

kalkulačka

Zde používáme kalkulačku k zobrazení oprávnění. Například vlastník má oprávnění ke čtení, zápisu a spouštění, zatímco skupina a ostatní (veřejní) mají oprávnění pouze ke čtení a zápisu, ale nemohou soubor spustit.

Ekvivalentní číselné oprávnění:

Syntax:

 chmod 766 filename  

Tabulka:

Typ uživatele Oprávnění Binární Hodnota
Majitel rwx 111 7
Skupina rw- 110 6
Ostatní rw- 110 6

Příklad vrácení změn provedených příkazem 'chmod' v Linuxu

Chcete-li vrátit zpět nebo vrátit změny provedené příkazem 'chmod' v Linuxu, můžeme použít "chmod". příkaz znovu, ale tentokrát bychom měli uvést správné oprávnění, které chceme. 

 Zde jsou kroky, jak vrátit zpět nebo vrátit změny:

  • Určete správné oprávnění, které chcete, a znovu použijte příkaz `chmod`. 
    Například: Pokud chceme vrátit změny na 'rw-r--r--' (oprávnění ke čtení a zápisu pro vlastníka oprávnění pouze ke čtení pro skupinu a další), podle toho by naše osmičková hodnota byla '644' (čtení = 4 zápis=2).
  • Nyní otevřete adresář a napište zadaný příkaz:
    chmod 644 [file_or_directory_name]    

Zde místo '[file_or_directory_name]' použijte název vašeho souboru nebo adresáře.

Předpokládejme, že název našeho souboru je 'a.txt'

Před vrácením nebo vrácením změn:

ls -l a.txtls -l a.txt   (používá se k zobrazení všech oprávnění, která a.txt má)

Po vrácení nebo vrácení změn:

vrácení změn chmod v LinuxuZde vidíme, že došlo ke změnám

Praktická implementace Jak udělat skript spustitelný v Linuxu

V Linuxu jsou skripty obvykle psány v jazycích jako Bash Python nebo Perl. Zatímco obsah skriptu je zásadní, zajištění toho, že má spustitelná oprávnění, je stejně důležité. Bez oprávnění ke spuštění Linux nepovolí spuštění skriptu.

Krok 1: Přejděte do adresáře skriptu

Otevřete terminál a použijte cd přejděte do adresáře, kde se nachází váš skript.

Například:

 cd /path/to/your/script  

Krok 2: Zkontrolujte aktuální oprávnění

Použijte ` ls` příkaz s ` -l` možnost vypsat soubory v adresáři spolu s jejich oprávněními. Tento krok vám pomůže identifikovat aktuální oprávnění vašeho skriptu:

 ls -l   kontrola aktuálního oprávněníkontrola aktuálního oprávnění 

Krok 3: Vytvořte spustitelný skript

Chcete-li, aby byl skript spustitelný, musíte použít ` chmod` příkaz. Za předpokladu, že se váš skript jmenuje `example .sh` můžete jej učinit spustitelným pomocí následujícího příkazu:

 chmod +x example.sh  

Tento příkaz přidá do skriptu oprávnění ke spuštění (+x).

Krok 4: Ověřte změny

Spusťte ` ls -l` znovu, abyste ověřili, že skript má nyní oprávnění ke spuštění. V poli oprávnění pro skript byste měli vidět „x“:

 ls -l   ověření změn po vytvoření spustitelného skriptuověření změn po vytvoření spustitelného skriptu 

Krok 5: Spusťte skript

Nyní, když má váš skript oprávnění ke spuštění, můžete jej spustit pomocí ` ./` zápis následovaný názvem skriptu. Například:

 ./example.sh   spustit skriptspustit skript 

Tento zápis říká Linuxu, aby se podíval do aktuálního adresáře ( . ) pro pojmenovaný skript example.sh .

Doporučený kvíz Upravit kvíz 5 otázek

Které číselné oprávnění zajišťuje, že pouze vlastník souboru může číst a zapisovat, zatímco skupina a ostatní mohou soubor pouze číst?

  • A

    chmod 777 soubor.txt

  • B

    chmod 664 soubor.txt

  • C

    chmod 644 soubor.txt

  • D

    chmod 600 soubor.txt

Vysvětlení:

644 > vlastník: rw- skupina: r-- ostatní: r--.

Který příkaz v symbolickém režimu zruší oprávnění ke spuštění pouze ostatní aniž byste se dotkli oprávnění vlastníka nebo skupiny?

  • A

    chmod a-x skript.sh

  • B

    chmod o-x skript.sh

  • C

    chmod go-x skript.sh

  • D

    chmod u-x script.sh

Vysvětlení:

o-x odebere spouštěcí práva pouze od „ostatních“.

Která konfigurace chmod správně kóduje schéma oprávnění, kde vlastník má plné provozní oprávnění, skupina má schopnost pouze vyvolání a ostatní mohou pouze kontrolovat bez úprav?

  • A

    chmod 751 app.sh

  • B

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • D

    chmod 571 app.sh

Vysvětlení:

751 > vlastník: rwx skupina: r-x ostatní: --x (pouze spustit).

Který příkaz použije model oprávnění, který zajistí, že každý soubor vytvořený v adresáři automaticky zdědí skupinu adresáře bez ohledu na vlastnictví uživatele?

  • A

    chmod +t sdílený_adresář/

  • B

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • D

    chmod 777 shared_dir/

Vysvětlení:

g+s (setgid) nutí nové soubory zdědit skupinu adresáře.

Skript musí být spustitelný pro všechny uživatele, který může upravit pouze jeho vlastník, a adresář musí zabránit komukoli kromě skutečného vlastníka souboru ve mazání nebo přejmenování souborů. Která dvojice příkazů vyhovuje tomuto bezpečnostnímu modelu?

  • A

    chmod 777 deploy.sh ; chmod +t /var/scripts

  • B

    chmod 755 deploy.sh ; chmod +t /var/scripts

  • C

    chmod 700 deploy.sh ; chmod g+s /var/scripts

  • D

    chmod 755 deploy.sh ; chmod 777 /var/scripts

Vysvětlení:

755 > vlastník píše, že vše může spustit; +t omezuje mazání souborů na vlastníky souborů.

Příkaz chmod v Linuxu s příkladyKvíz úspěšně dokončen Vaše skóre:   2 /5 Přesnost:  0 % Pro zobrazení vysvětlení se přihlaste 1 /5 1 /5 < Previous Další >