logo

Príkaz chmod v systéme Linux s príkladmi

Thechmod(change mode) príkaz v Linuxe/UNIX sa používa na nastavenie alebo úpravu oprávnení k súborom a adresárom. Každý súbor v systéme Linux má vlastníka, skupinu a súvisiace povolenia, ktoré určujú, kto môže súbor čítať, zapisovať alebo spúšťať. Používaniechmod Správcovia a používatelia môžu ovládať tieto povolenia, aby zabezpečili správny prístup a bezpečnosť. Uvažujme o príklade

Použite príkaz chmod udelením povolenia 745

príkaz:

chmod 745 newfile.txt

výstup:



chmod' title=

Rozdelenie-rwxr--r-x:

binárny strom vs bst
  • Vlastník (7):rwx> čítať zápis spustiť
  • Skupina (4):r--> len na čítanie
  • Iní (5):r-x> prečítať a spustiť

Tu je súbor:

  • Plne prístupné (čítanie/zápis/spustenie) vlastníkom
  • Len na čítanie pre skupinu
  • Prečítajte si + spustite pre ostatných

Syntax príkazu chmod

chmod [options] [mode] [File_name] 

Tu

  • Možnosti: Voliteľné príznaky, ktoré upravujú správaniechmodpríkaz.
  • režim: Povolenia, ktoré sa majú nastaviť, predstavujú trojmiestne osmičkové číslo alebo symbolický zápis (napr. u=rwgo=rx).
  • Názov_súboru: Názov súboru alebo adresára, pre ktorý sa majú zmeniť oprávnenia.

Možnosti dostupné v chmod Command Linux

Tu je niekoľko užitočných možnostíchmodPríkaz v Linuxe

RežimVlastníkSkupinaIníTypické použitie pre skripty
700 rwx------Súkromný skript (len vy môžete spustiť/upraviť).
711 rwx--x--xIba spustiteľný súbor/prechod; obsah nie je čitateľný.
744 rwxr--r--Môžete upraviť a spustiť; ostatní môžu čítať (nie vykonávať).
750 rwxr-x---Spustiteľný iba pre tím; skryté pred ostatnými.
754 rwxr-xr--Exec pre skupinu len na čítanie pre ostatných.
755 rwxr-xr-xBežné: každý môže spustiť úpravu iba vy.
775 rwxrwxr-xZdieľané v rámci skupiny (vlastník aj skupina môžu upravovať/spúšťať).

Poznámka: Možnosti v `chmod` sa v podstate používajú na vykonávanie hromadných zmien a úpravu povolení vo viacerých súboroch alebo adresároch naraz.

Kľúčové typy povolení:

V Linuxe povolenia určiť, kto má kontrolu nad súborom alebo adresárom. Tieto povolenia určujú, kto môže čítať (prístup), zapisovať (upravovať alebo odstraňovať) alebo spúšťať (spúšťať) súbor na základe rolí používateľov: skupina vlastníkov a iné.

  • Prečítajte si ( r ): Umožňuje prezeranie obsahu súboru.
  • Napíšte ( w ): Umožňuje úpravu súboru alebo adresára.
  • Vykonať ( x ): Umožňuje spustenie súboru ako programu alebo vstup do adresára.

Príklady použitia osmičkového režimu:

Predpokladajme, že vlastníkovi súboru dáme povolenie na čítanie a zápis. Povolenie na čítanie a zápis do skupiny. Povolenie iba na čítanie pre Iného. Oni by boli naším rozkazom.

chmod 674 [file_name]

Tu.

  • 6 predstavujú povolenie vlastníka súboru, ktoré sú (rw-).
  • 7 predstavujú povolenie skupiny, ktoré sú (rwx).
  • 4 predstavujú povolenie Iného, ​​čo je (r--).

Poznámka: Pomocouchmodkalkulačka.

kalkulačka' loading='lazy' title=

Tu používame kalkulačku na zobrazenie povolení. Napríklad vlastník má povolenia na čítanie a spustenie, zatiaľ čo skupina a iní (verejní) majú iba povolenia na čítanie a zápis, ale nemôžu súbor spustiť.

Ekvivalentné číselné oprávnenie:

Syntax:

chmod 766 filename

Tabuľka:

Typ používateľaPovoleniaBinárneHodnota
Vlastníkrwx1117
Skupinarw-1106
Inírw-1106

Príklad vrátenia zmien vykonaných príkazom „chmod“ v systéme Linux

Ak chcete vrátiť späť alebo vrátiť zmeny vykonané príkazom 'chmod' v Linuxe, môžeme použiť „chmod“. príkaz znova, ale tentoraz by sme mali spomenúť správne povolenie, ktoré chceme. 

 Tu sú kroky na vrátenie alebo vrátenie zmien:

  • Určite požadované oprávnenie a znova použite príkaz `chmod`. 
    Napríklad: Ak chceme vrátiť zmeny na 'rw-r--r--' (oprávnenie na čítanie a zápis pre vlastníka, oprávnenie len na čítanie pre skupinu a iné), podľa toho by naša osmičková hodnota bola '644' (čítanie = 4 zápis=2).
  • Teraz otvorte adresár a napíšte zadaný príkaz:
    chmod 644 [file_or_directory_name]   

Tu namiesto '[file_or_directory_name]' použite názov vášho súboru alebo adresára.

iterácia mapy v jave

Predpokladajme, že názov nášho súboru je „a.txt“

Pred vrátením alebo vrátením zmien:

ls -l a.txt' loading='lazy' title=ls -l a.txt   (používa sa na zobrazenie všetkých povolení, ktoré má a.txt)

Po vrátení alebo vrátení zmien:

vrátenie zmien chmod v Linuxe' loading='lazy' title=Tu vidíme, že došlo k zmenám

Praktická implementácia Ako urobiť skript spustiteľný v Linuxe

V Linuxe sú skripty zvyčajne napísané v jazykoch ako Bash Python alebo Perl. Aj keď je obsah skriptu kľúčový, rovnako dôležité je zabezpečiť, aby mal spustiteľné povolenia. Bez povolení na spustenie Linux nepovolí spustenie skriptu.

Krok 1: Prejdite do adresára skriptu

Otvorte terminál a použitecdpríkaz na navigáciu do adresára, kde sa nachádza váš skript.

Napríklad:

cd /path/to/your/script

Krok 2: Skontrolujte aktuálne povolenia

Použite ` ls` príkaz s ` -l` možnosť zobraziť zoznam súborov v adresári spolu s ich povoleniami. Tento krok vám pomôže identifikovať aktuálne povolenia vášho skriptu:

ls -l
kontrola aktuálneho povolenia' loading='lazy' title=kontrola aktuálneho povolenia

Krok 3: Vytvorte spustiteľný skript

Aby bol skript spustiteľný, musíte použiť `chmod`príkaz. Za predpokladu, že váš skript sa volá `priklad .sh` môžete ho urobiť spustiteľným pomocou nasledujúceho príkazu:

chmod +x example.sh

Tento príkaz pridá do skriptu povolenie na vykonanie (+x).

Krok 4: Overte zmeny

Spustite ` ls -l` znova, aby ste overili, že skript má teraz oprávnenia na spustenie. V poli povolení pre skript by ste mali vidieť „x“:

ls -l
overenie zmien po vytvorení spustiteľného skriptu' loading='lazy' title=overenie zmien po vytvorení spustiteľného skriptu

Krok 5: Spustite skript

Teraz, keď má váš skript spustiteľné povolenia, môžete ho spustiť pomocou ` ./` zápis, za ktorým nasleduje názov skriptu. Napríklad:

./example.sh
spustiť skript' loading='lazy' title=spustiť skript

Tento zápis hovorí Linuxu, aby sa pozrel do aktuálneho adresára (.) pre pomenovaný skriptexample.sh.

Navrhovaný kvíz Upraviť kvíz 5 otázok

Ktoré číselné oprávnenie zaisťuje, že iba vlastník súboru môže čítať a zapisovať, zatiaľ čo skupina a ostatní môžu súbor iba čítať?

  • A

    chmod 777 súbor.txt

  • B

    chmod 664 súbor.txt

  • C

    chmod 644 súbor.txt

  • D

    chmod 600 súbor.txt

Vysvetlenie:

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

Ktorý príkaz v symbolickom režime zruší povolenie na vykonanie iba ostatné bez toho, aby ste sa dotkli povolení vlastníka alebo skupiny?

Vysvetlenie:

o-x odoberá práva na vykonanie iba od „ostatných“.

Ktorá konfigurácia chmod správne kóduje schému povolení, kde vlastník má plné prevádzkové oprávnenie, skupina má schopnosť iba vyvolávania a ostatní môžu iba kontrolovať bez úprav?

  • A

    chmod 751 app.sh

  • B

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • D

    chmod 571 app.sh

Vysvetlenie:

751 > vlastník: rwx skupina: r-x ostatní: --x (iba spustiť).

Ktorý príkaz používa model povolení, ktorý zabezpečuje, že každý súbor vytvorený v adresári automaticky zdedí skupinu adresára bez ohľadu na vlastníctvo používateľa?

formátovať dátum v java
  • A

    chmod +t shared_dir/

  • B

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • D

    chmod 777 shared_dir/

Vysvetlenie:

g+s (setgid) prinúti nové súbory zdediť skupinu adresára.

Skript musí byť spustiteľný pre všetkých používateľov, ktorý môže upravovať iba jeho vlastník, a adresár musí zabrániť komukoľvek okrem skutočného vlastníka súboru, aby vymazal alebo premenoval súbory. Ktorý pár príkazov 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

Vysvetlenie:

755 > vlastník píše, že všetko môže spustiť; +t obmedzuje mazanie súborov na vlastníkov súborov.

Príkaz chmod v systéme Linux s príkladmiKvíz úspešne dokončený Vaše skóre:  2/5Presnosť: 0%Prihláste sa na zobrazenie vysvetlenia 1/5 1/5 < Previous Ďalej >