logo

Ukaz chmod v Linuxu s primeri

Thechmod(sprememba načina) ukaz v sistemu Linux/UNIX se uporablja za nastavitev ali spreminjanje dovoljenj za datoteke in imenike. Vsaka datoteka v Linuxu ima lastnika skupino in povezana dovoljenja, ki določajo, kdo lahko bere, piše ali izvaja datoteko. Uporabachmod Skrbniki in uporabniki lahko nadzorujejo ta dovoljenja, da zagotovijo pravilen dostop in varnost. Poglejmo primer

Uporabite ukaz chmod tako, da podate dovoljenje 745

Ukaz:

chmod 745 newfile.txt

Izhod:



chmod' title=

Razčlenitev-rwxr--r-x:

  • Lastnik (7):rwx> branje pisanje izvedba
  • Skupina (4):r--> samo za branje
  • drugi (5):r-x> preberi in izvedi

Tukaj je datoteka:

  • Popolnoma dostopen (branje/pisanje/izvajanje) s strani lastnika
  • Samo za branje za skupino
  • Preberi + izvedi za druge

Sintaksa ukaza chmod

chmod [options] [mode] [File_name] 

Tukaj

  • možnosti: Izbirne zastavice, ki spreminjajo vedenjechmodukaz.
  • način: Dovoljenja, ki jih je treba nastaviti, so predstavljena s trimestno osmiško številko ali simbolnim zapisom (npr. u=rwgo=rx).
  • Ime_datoteke: Ime datoteke ali imenika, za katerega je treba spremeniti dovoljenja.

Možnosti, ki so na voljo v chmod Command Linux

Tukaj je nekaj uporabnih možnosti zachmodUkaz v Linuxu

NačinLastnikskupinadrugiObičajna uporaba za skripte
700 rwx------Zasebni skript (samo vi lahko izvajate/urejate).
711 rwx--x--xSamo izvedljivo/prehod; vsebina ni berljiva.
744 rwxr--r--Urejate & zaženete; drugi lahko berejo (ne izvajajo).
750 rwxr-x---Izvedljiva samo za ekipo; skriti pred drugimi.
754 rwxr-xr--Exec za skupino samo za branje za druge.
755 rwxr-xr-xObičajno: vsi lahko izvajajo urejanje, samo vi.
775 rwxrwxr-xV skupni rabi znotraj skupine (lastnik in skupina lahko urejata/izvajata).

Opomba: Možnosti v `chmod` se v bistvu uporabljajo za množično spreminjanje in spreminjanje dovoljenj za več datotek ali imenikov hkrati.

Ključne vrste dovoljenj:

V Linuxu dovoljenja določite, kdo ima nadzor nad datoteko ali imenikom. Ta dovoljenja določajo, kdo lahko bere (dostopa), piše (ureja ali briše) ali izvaja (zažene) datoteko na podlagi uporabniških vlog: skupina lastnikov in drugi.

  • Preberi ( r ): Omogoča ogled vsebine datoteke.
  • Napišite ( w ): Omogoča spreminjanje datoteke ali imenika.
  • Izvedi ( x ): Omogoča zagon datoteke kot programa ali vstop v imenik.

Primeri uporabe osmiškega načina:

Recimo, da damo dovoljenje za branje in pisanje lastniku datoteke. Dovoljenje za branje in pisanje za skupino. Dovoljenje za drugo samo za branje. Naš ukaz bi bil.

chmod 674 [file_name]

Tukaj.

  • 6 predstavljajo dovoljenje lastnika datoteke, ki so (rw-).
  • 7 predstavljajo dovoljenje skupine, ki sta (rwx).
  • 4 predstavljajo dovoljenje Drugega, ki je (r--).

Opomba: Ogledate si lahko in izračunate dovoljenja za datoteke, na primer, kdo lahko dostopa do branja, pisanja (brisanje ali spreminjanje) ali izvajanja datoteke za skupino lastnikov in druge (javne) z uporabochmodkalkulator.

kalkulator' loading='lazy' title=

Tukaj uporabljamo kalkulator za ogled dovoljenj. Lastnik ima na primer dovoljenja za branje in pisanje in izvajanje, medtem ko imajo skupina in drugi (javni) samo dovoljenja za branje in pisanje, vendar ne morejo izvesti datoteke.

mylivecricket.

Enakovredno številčno dovoljenje:

Sintaksa:

chmod 766 filename

Tabela:

Vrsta uporabnikaDovoljenjaBinarnoVrednost
Lastnikrwx1117
skupinarw-1106
drugirw-1106

Primer razveljavitve sprememb, narejenih z ukazom 'chmod' v Linuxu

Če želite razveljaviti ali razveljaviti spremembe, ki jih naredi ukaz 'chmod' v Linuxu, lahko uporabimo `chmod` znova ukaz, toda tokrat bi morali omeniti pravilno dovoljenje, ki ga želimo. 

 Tukaj so koraki za razveljavitev ali razveljavitev sprememb:

  • Določite pravo dovoljenje, ki ga želite, in znova uporabite ukaz `chmod`. 
    Na primer: Če želimo razveljaviti spremembe na 'rw-r--r--' (dovoljenje za branje in pisanje za lastnika, dovoljenje samo za branje za skupino in druge), bi bila glede na to naša osmiška vrednost '644' (branje = 4 pisanje=2).
  • Zdaj odprite imenik in napišite podani ukaz:
    chmod 644 [file_or_directory_name]   

Tukaj namesto '[ime_datoteke_ali_imenika]' uporabite ime vaše datoteke ali imenika.

Recimo, da je ime naše datoteke 'a.txt'

Pred razveljavitvijo ali razveljavitvijo sprememb:

ls -l a.txt' loading='lazy' title=ls -l a.txt   (uporablja se za prikaz vseh dovoljenj, ki jih ima a.txt)

Po razveljavitvi ali razveljavitvi sprememb:

razveljavitev sprememb chmod v Linuxu' loading='lazy' title=Tukaj lahko vidimo, da je prišlo do sprememb

Praktična izvedba tega, kako narediti skript izvedljiv v Linuxu

V Linuxu so skripti običajno napisani v jezikih, kot sta Bash Python ali Perl. Medtem ko je vsebina skripta ključnega pomena, je enako pomembno zagotoviti, da ima izvedljiva dovoljenja. Brez dovoljenj za izvajanje Linux ne bo dovolil izvajanja skripta.

1. korak: Pomaknite se do imenika skripta

Odprite terminal in uporabitecdukaz za navigacijo do imenika, kjer se nahaja vaš skript.

Na primer:

cd /path/to/your/script

2. korak: Preverite trenutna dovoljenja

Uporabite ` ls` ukaz z ` -l` možnost za seznam datotek v imeniku skupaj z njihovimi dovoljenji. Ta korak vam pomaga prepoznati trenutna dovoljenja vašega skripta:

32-bitna arhitektura proti 64-bitni
ls -l
preverjanje trenutnega dovoljenja' loading='lazy' title=preverjanje trenutnega dovoljenja

3. korak: naredite skript izvršljivo

Če želite skript narediti izvršljivo, morate uporabiti `chmod`ukaz. Ob predpostavki, da se vaš skript imenuje `example .sh` lahko ga naredite izvršljivega z naslednjim ukazom:

chmod +x example.sh

Ta ukaz skriptu doda dovoljenje za izvajanje (+x).

4. korak: Preverite spremembe

Zaženite ` ls -l` ukaz znova, da preverite, ali ima skript zdaj dovoljenja za izvajanje. V polju za dovoljenje za skript bi morali videti 'x':

ls -l
preverjanje sprememb po tem, ko je skript postal izvršljiv' loading='lazy' title=preverjanje sprememb po tem, ko je skript postal izvršljiv

5. korak: Izvedite skript

Zdaj, ko ima vaš skript dovoljenja za izvedljivost, ga lahko zaženete z uporabo ` ./` zapis, ki mu sledi ime skripta. Na primer:

./example.sh
izvedite skripto' loading='lazy' title=izvedite skripto

Ta zapis sporoči Linuxu, naj pogleda v trenutni imenik (.) za imenovani skriptexample.sh.

Predlagani kviz Uredi kviz 5 vprašanj

Katero številsko dovoljenje zagotavlja, da lahko samo lastnik datoteke bere in piše, medtem ko lahko skupina in drugi samo berejo datoteko?

  • A

    chmod 777 file.txt

  • B

    chmod 664 file.txt

  • C

    chmod 644 datoteka.txt

  • D

    chmod 600 file.txt

Pojasnilo:

644 > lastnik: rw- skupina: r-- ostali: r--.

Kateri ukaz v simbolnem načinu prekliče dovoljenje za izvajanje samo drugi brez dotikanja dovoljenj lastnika ali skupine?

  • A

    chmod a-x skript.sh

  • B

    chmod o-x skript.sh

  • C

    chmod go-x skript.sh

  • D

    chmod u-x skript.sh

Pojasnilo:

o-x odstrani pravice izvajanja samo 'drugim'.

Katera konfiguracija chmod pravilno kodira shemo dovoljenj, kjer ima lastnik polno operativno pooblastilo, skupina ima možnost samo klica, drugi pa lahko samo pregledujejo brez spreminjanja?

počisti predpomnilnik npm
  • A

    chmod 751 app.sh

  • B

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • D

    chmod 571 app.sh

Pojasnilo:

751 > lastnik: rwx skupina: r-x drugi: --x (samo izvajanje).

Kateri ukaz uporablja model dovoljenj, ki zagotavlja, da vsaka datoteka, ustvarjena v imeniku, samodejno podeduje skupino imenika ne glede na lastništvo uporabnika?

  • A

    chmod +t shared_dir/

  • B

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • D

    chmod 777 shared_dir/

Pojasnilo:

g+s (setgid) prisili nove datoteke, da podedujejo skupino imenika.

Skript mora biti izvedljiv za vse uporabnike, ki ga lahko spreminja le njegov lastnik, imenik pa mora preprečiti, da bi kdorkoli razen dejanskega lastnika datoteke izbrisal ali preimenoval datoteke. Kateri par ukazov izpolnjuje ta varnostni model?

  • 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

Pojasnilo:

755 > lastnik piše vse lahko izvede; +t omeji brisanje datotek na lastnike datotek.

Ukaz chmod v Linuxu s primeriKviz uspešno zaključen Vaš rezultat:  2/5Natančnost: 0 %Prijavite se za ogled razlage 1/5 1/5 < Previous Naprej >