logo

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

Thechmod(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' title=

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í souboruchmodpří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žnostichmodPříkaz v Linuxu

RežimMajitelSkupinaOstatníTypické použití pro skripty
700 rwx------Soukromý skript (pouze vy můžete spustit/upravit).
711 rwx--x--xPouze spustitelný soubor/přechod; obsah nečitelný.
744 rwxr--r--Můžete upravit a spustit; ostatní mohou číst (ne provádět).
750 rwxr-x---Spustitelný pouze pro tým; skryté před ostatními.
754 rwxr-xr--Exec pro skupinu jen pro čtení pro ostatní.
755 rwxr-xr-xBěžné: všichni mohou spustit úpravy pouze vy.
775 rwxrwxr-xSdí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íchmodkalkulačka.

řetězec a podřetězec
kalkulačka' loading='lazy' title=

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živateleOprávněníBinárníHodnota
Majitelrwx1117
Skupinarw-1106
Ostatnírw-1106

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.txt' loading='lazy' title=ls -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 Linuxu' loading='lazy' title=Zde 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žijtecdpř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í' loading='lazy' title=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 skriptu' loading='lazy' title=ověř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 skript' loading='lazy' title=spustit skript

Tento zápis říká Linuxu, aby se podíval do aktuálního adresáře (.) pro pojmenovaný skriptexample.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

    jarní mvc
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/5Přesnost: 0 %Pro zobrazení vysvětlení se přihlaste 1/5 1/5 < Previous Další >