logo

Jak udělat skript spustitelný v Linuxu | Příkaz chmod

V operačních systémech Unix je chmod příkaz se používá ke změně režimu přístupu k souboru. Název je zkratkou změnit režim . Což říká, že každý soubor a adresář má sadu oprávnění, která řídí oprávnění, jako kdo může číst, zapisovat nebo spouštět soubor. V tomto mají oprávnění tři kategorie: čtení, zápis a spouštění současně reprezentované `r`, `w` a `x`. Tato písmena se kombinují a tvoří specifické oprávnění pro skupinu uživatelů.

Příkaz `chmod` se používá k úpravě tohoto oprávnění tak, aby mohl udělit nebo omezit přístup k adresářům a souborům. Podívejme se na syntaxi a možnosti příkazu `chmod` v operačním systému Linux.

Obsah



Syntaxe příkazu chmod

chmod [options] [mode] [File_name]>

Tady,

javabilní
  • Možnosti: Volitelné příznaky, které upravují chování souboruchmod>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=rw,go=rx).
  • Název souboru: Název souboru nebo adresáře, pro který se mají změnit oprávnění.

Možnosti dostupné v chmod Command Linux

Možnosti Popis
'-R'. Aplikujte změnu oprávnění rekurzivně na všechny soubory a adresáře v zadaném adresáři.
`-v` Zobrazí zprávu pro každý zpracovávaný soubor. a zároveň označit změnu oprávnění, která byla provedena.
'-c'. Funguje to stejně jako `-v` ale v tomto případě zobrazí pouze zprávy pro soubory, jejichž oprávnění je změněno.
'-f'. Pomáhá předcházet zobrazování chybových zpráv.
'-h'. Změňte oprávnění symbolických odkazů namísto souborů, na které odkazují.

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.

Režimy v příkazu chmod v Linuxu

Režim pomáhá při nastavování nových oprávnění, která musí být aplikována na soubory nebo adresáře.

Tento režim lze specifikovat několika způsoby, probereme dva režimy: Symbolický a osmičkový.

1) Symbolický režim

Hovoříme-li o symbolickém režimu, můžeme říci, že je to nejběžnější metoda používaná pro specifikaci práv jedle. V tomto musíme vytvořit kombinaci písmena a operátory nastavit nebo říct, co dělat s oprávněními.

V symbolickém režimu lze použít následující operátory:

Operátoři Definice
`+` Přidat oprávnění
`-` Odebrat oprávnění
`=` Nastavte oprávnění na zadané hodnoty

Následující písmena, která lze použít v symbolickém režimu:

Písmena Definice
`r` Oprávnění ke čtení
'w'. Povolení k zápisu
'x'. Proveďte povolení

Následující reference, které se používají:

Odkaz Třída
v Majitel
G Skupina
Ó Ostatní
A Všichni (vlastník, skupiny, ostatní)

Příklady použití symbolického režimu:

  • Číst, zapisovat a spouštět oprávnění vlastníka souboru:
  chmod u+rwx [file_name] >
  • Odebrat oprávnění k zápisu pro skupinu a ostatní:
  chmod go-w [file_name] >
  • Čtení a zápis pro vlastníka a pouze pro čtení pro skupinu a další:
  chmod u+rw,go+r [file_name] >

2) Osmičkový režim

Je to také metoda pro specifikaci oprávnění. V této metodě zadáváme oprávnění pomocí třímístného čísla. Kde..

  • První číslice zadejte oprávnění pro vlastníka.
  • Druhá číslice zadejte oprávnění pro skupinu.
  • Třetí číslice zadejte oprávnění pro Ostatní. Číslice

POZNÁMKA: Číslice se počítají sečtením hodnot jednotlivých oprávnění.

Hodnota Povolení
4 Oprávnění ke čtení
2 Povolení k zápisu
1 Povolení k provedení

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í, zápisu a spustitelné skupině. Oprávnění pouze ke čtení pro ostatní. Oni by byli naším velením.

 chmod 674 [file_name]>

Tady.

  • 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).

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

Pochopení spouštění skriptů v Linuxu

V Linuxu jsou skripty obvykle psány v jazycích jako Bash, Python nebo Perl. I když je obsah skriptu zásadní, stejně důležité je zajistit, aby měl spustitelná oprávnění. Bez oprávnění ke spuštění Linux neumožní spuštění skriptu.

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

Otevřete terminál a použijtecd>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 spustit jako spustitelný 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

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

spustit skript

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

Často kladené otázky na chmod – FAQ

Jak zobrazím aktuální oprávnění souboru nebo adresáře?

ls -l>

všechna oprávnění, která má aktuální adresář

Chcete-li zobrazit všechna oprávnění, která má konkrétní adresář nebo soubor.

ls -l example>

uvedena všechna oprávnění, která má tento soubor.

Zde je příkladem file_name.

Jaké jsou různé typy oprávnění v Linuxu a co znamenají?

V Linuxu existují tři typy oprávnění:

linuxový příkaz spustit

číst (`r`)

napsat (`w`)

vykonat (`x`)

Aplikují se na:

majitel ('v')

sloučit řazení java

skupina (`g`)

jiný (`o`)

Co je chmod 777 , chmod 755 a chmod +x nebo chmod a+x?

chmod 777 [file_name]>

Tento příkaz uděluje všechna tři oprávnění všem (vlastník, skupina a další)

chmod a+x [file_name]>

To dělá soubor spustitelný pro každého. Je to nejpoužívanější příkaz poté, co nainstalujeme spustitelný soubor, stále musíme přidat oprávnění, abychom z něj skutečně udělali spustitelný soubor.

chmod 755 [file_name]>

V tomto případě může vlastník zapisovat, číst a spouštět soubor, skupina a další mohou pouze číst a spouštět soubor.

Jak můžeme vrátit změny provedené 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 (používá se k zobrazení všech oprávnění, která a.txt má)

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

    Zde vidíme, že došlo ke změnám

    Závěr

    The 'chmod'. příkaz v Linuxu se používá k úpravě oprávnění a režimu přístupu k souborům a adresářům. Toto jsou oprávnění, která řídí, kdo může číst, zapisovat a spouštět soubor. Probrali jsme dva typy režimů pro specifikaci oprávnění: symbolický a osmičkový režim. V symbolickém režimu se k určení oprávnění používají písmena a operátory. Zatímco octal má třímístné číslo pro specifikaci oprávnění. The 'chmod'. příkaz také poskytuje některé možnosti pro hromadné úpravy, například: '-R'. pro rekurzivní a `-v` a '-c'. pro zobrazení zprávy. Celkový závěr je takový 'chmod'. příkaz v Linuxu je velmi nezbytným nástrojem pro správu oprávnění k souborům a adresářům.

    ?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L