logo

Naredba chmod u Linuxu s primjerima

Thechmod(promjena načina rada) naredba u Linuxu/UNIX-u koristi se za postavljanje ili izmjenu dopuštenja za datoteke i direktorije. Svaka datoteka u Linuxu ima vlasnika, grupu i pridružena dopuštenja koja određuju tko može čitati, pisati ili izvršavati datoteku. Korištenjechmod Administratori i korisnici mogu kontrolirati ove dozvole kako bi osigurali pravilan pristup i sigurnost. Razmotrimo primjer

Koristite naredbu chmod davanjem dopuštenja 745

Naredba:

chmod 745 newfile.txt

Izlaz:



chmod' title=

Raščlamba od-rwxr--r-x:

  • Vlasnik (7):rwx> čitati pisati izvršiti
  • grupa (4):r--> samo za čitanje
  • drugi (5):r-x> pročitaj i izvrši

Ovdje je datoteka:

  • Potpuno dostupan (čitanje/pisanje/izvršavanje) od strane vlasnika
  • Samo za čitanje za grupu
  • Pročitajte + izvršite za druge

Sintaksa naredbe chmod

chmod [options] [mode] [File_name] 

Ovdje

  • Mogućnosti: Neobavezne oznake koje mijenjaju ponašanjechmodnaredba.
  • Način rada: Dopuštenja koja se postavljaju predstavljena su troznamenkastim oktalnim brojem ili simboličkim zapisom (npr. u=rwgo=rx).
  • File_name: Naziv datoteke ili direktorija za koje se dozvole mijenjaju.

Opcije dostupne u chmod Command Linux

Evo nekoliko korisnih opcija zachmodNaredba u Linuxu

Način radaVlasnikSkupinaDrugiUobičajena upotreba za skripte
700 rwx------Privatna skripta (samo vi možete pokretati/uređivati).
711 rwx--x--xSamo izvršni/prelazak; sadržaj nije čitljiv.
744 rwxr--r--Uređuješ i pokrećeš; drugi mogu čitati (ne izvršavati).
750 rwxr-x---Izvršna datoteka samo za tim; skriven od drugih.
754 rwxr-xr--Exec za grupu samo za čitanje za druge.
755 rwxr-xr-xUobičajeno: svi mogu pokrenuti samo vi uređivanje.
775 rwxrwxr-xDijeli se unutar grupe (i vlasnik i grupa mogu uređivati/pokretati).

Bilješka: Opcije u `chmod` se u osnovi koriste za skupne promjene i modificiranje dopuštenja za više datoteka ili direktorija odjednom.

java virtualni stroj

Ključne vrste dopuštenja:

U Linuxu dozvole odrediti tko ima kontrolu nad datotekom ili imenikom. Ove dozvole određuju tko može čitati (pristupati), pisati (uređivati ​​ili brisati) ili izvršavati (pokretati) datoteku na temelju korisničkih uloga: grupa vlasnika i drugi.

  • pročitati ( r ): Omogućuje pregled sadržaja datoteke.
  • Napiši ( w ): Omogućuje izmjenu datoteke ili direktorija.
  • Izvrši ( x ): Omogućuje pokretanje datoteke kao programa ili ulazak u direktorij.

Primjeri korištenja oktalnog načina rada:

Pretpostavimo da damo dopuštenje za čitanje i pisanje vlasniku datoteke. Dopuštenje za čitanje i pisanje za grupu. Dopuštenje samo za čitanje drugome. Oni bi bili naša komanda.

chmod 674 [file_name]

Ovdje.

  • 6 predstavljaju dopuštenje vlasnika datoteke koje su (rw-).
  • 7 predstavljaju dopuštenje Grupe koja su (rwx).
  • 4 predstavljaju dopuštenje Drugoga koje je (r--).

Bilješka: Možete pregledati i izračunati dopuštenja datoteka kao što je tko može pristupiti čitanju, pisanju (brisanje ili izmjena) ili izvršavanju datoteke za grupu vlasnika i druge (javne) pomoćuchmodkalkulator.

kalkulator' loading='lazy' title=

Ovdje koristimo kalkulator za pregled dopuštenja. Na primjer, vlasnik ima dopuštenja za čitanje, pisanje i izvršavanje, dok grupa i drugi (javni) imaju samo dopuštenja za čitanje i pisanje, ali ne mogu izvršiti datoteku.

Ekvivalentno numeričko dopuštenje:

Sintaksa:

chmod 766 filename

Stol:

Vrsta korisnikaDozvoleBinarniVrijednost
Vlasnikrwx1117
Skupinarw-1106
Drugirw-1106

Primjer vraćanja promjena napravljenih naredbom 'chmod' u Linuxu

Za poništavanje ili vraćanje promjena napravljenih naredbom 'chmod' u Linuxu možemo koristiti `chmod` ponovo naredba, ali ovaj put bismo trebali spomenuti ispravnu dozvolu koju želimo. 

 Evo koraka za poništavanje ili vraćanje promjena:

  • Odredite ispravnu dozvolu koju želite i ponovno upotrijebite naredbu `chmod`. 
    Na primjer: Ako želimo vratiti promjene na 'rw-r--r--' (dopuštenje za čitanje i pisanje za vlasnika, dopuštenje samo za čitanje za grupu i ostale), prema ovome bi naša oktalna vrijednost bila '644' (čitanje = 4 pisanje=2).
  • Sada otvorite direktorij i napišite zadanu naredbu:
    chmod 644 [file_or_directory_name]   

Ovdje umjesto '[file_or_directory_name]' koristite naziv vaše datoteke ili direktorija.

Pretpostavimo da je naziv naše datoteke 'a.txt'

Prije vraćanja ili poništavanja promjena:

ls -l a.txt' loading='lazy' title=ls -l a.txt   (koristi se za prikaz svih dozvola koje ima a.txt)

Nakon vraćanja ili poništavanja promjena:

vraćanje chmod promjena u Linuxu' loading='lazy' title=Ovdje možemo vidjeti da su promjene napravljene

Praktična implementacija načina kako skriptu učiniti izvršnom u Linuxu

U Linuxu se skripte obično pišu na jezicima poput Bash Python ili Perl. Iako je sadržaj skripte ključan, jednako je važno osigurati da ima izvršne dozvole. Bez dopuštenja za izvršavanje Linux neće dopustiti pokretanje skripte.

Korak 1: Dođite do direktorija skripte

Otvorite terminal i upotrijebitecdnaredbu za navigaciju do direktorija u kojem se nalazi vaša skripta.

Na primjer:

cd /path/to/your/script

Korak 2: Provjerite trenutne dozvole

Koristite ` ls` naredba s ` -l` opciju za popis datoteka u direktoriju zajedno s njihovim dozvolama. Ovaj vam korak pomaže identificirati trenutna dopuštenja vaše skripte:

ls -l
provjera trenutne dozvole' loading='lazy' title=provjera trenutne dozvole

Korak 3: Napravite izvršnu skriptu

Da biste skriptu napravili izvršnom, morate koristiti `chmod`naredba. Pod pretpostavkom da se vaša skripta zove `example .sh` možete ga učiniti izvršnim pomoću sljedeće naredbe:

chmod +x example.sh

Ova naredba dodaje dopuštenje za izvršenje (+x) skripti.

Korak 4: Provjerite promjene

Pokrenite ` ls -l` ponovite naredbu kako biste potvrdili da skripta sada ima dopuštenja za izvršavanje. Trebali biste vidjeti 'x' u polju dopuštenja za skriptu:

ls -l
provjera promjena nakon što skripta postane izvršna' loading='lazy' title=provjera promjena nakon što skripta postane izvršna

Korak 5: Izvršite skriptu

Sada kada vaša skripta ima izvršne dozvole, možete je pokrenuti koristeći ` ./` notacija iza koje slijedi naziv skripte. Na primjer:

zamjeni sve
./example.sh
izvršiti skriptu' loading='lazy' title=izvršiti skriptu

Ova notacija govori Linuxu da traži u trenutnom direktoriju (.) za skriptu pod nazivomexample.sh.

Predloženi kviz Uredi kviz 5 pitanja

Koje numeričko dopuštenje osigurava da samo vlasnik datoteke može čitati i pisati, dok grupa i drugi mogu samo čitati datoteku?

  • A

    chmod 777 datoteka.txt

  • B

    chmod 664 datoteka.txt

  • C

    chmod 644 datoteka.txt

  • D

    chmod 600 file.txt

Obrazloženje:

644 > vlasnik: rw- grupa: r-- ostali: r--.

Koja naredba simboličkog načina opoziva dopuštenje za izvršenje samo drugi bez diranja dopuštenja vlasnika ili grupe?

  • A

    chmod a-x skripta.sh

  • B

    chmod o-x skripta.sh

  • C

    chmod go-x skripta.sh

  • D

    chmod u-x skripta.sh

Obrazloženje:

o-x uklanja prava izvršenja samo od 'drugih'.

Koja konfiguracija chmod-a ispravno kodira shemu dopuštenja gdje vlasnik ima punu operativnu ovlast, grupa ima mogućnost samo pozivanja, a drugi mogu samo pregledavati bez izmjena?

  • A

    chmod 751 app.sh

  • B

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • D

    chmod 571 app.sh

Obrazloženje:

751 > vlasnik: rwx grupa: r-x ostali: --x (samo izvršavanje).

Koja naredba primjenjuje model dopuštenja koji osigurava da svaka datoteka stvorena unutar direktorija automatski nasljeđuje grupu direktorija bez obzira na vlasništvo korisnika?

  • A

    chmod +t dijeljeni_dir/

  • B

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • D

    chmod 777 shared_dir/

Obrazloženje:

g+s (setgid) prisiljava nove datoteke da naslijede grupu direktorija.

Skripta mora biti izvršna za sve korisnike koju može mijenjati samo njezin vlasnik, a direktorij mora spriječiti bilo koga osim stvarnog vlasnika datoteke da izbriše ili preimenuje datoteke. Koji par naredbi zadovoljava ovaj sigurnosni model?

  • A

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

  • B

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

  • C

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

    java nizovi
  • D

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

Obrazloženje:

755 > vlasnik piše sve može izvršiti; +t ograničava brisanje datoteka na vlasnike datoteka.

Naredba chmod u Linuxu s primjerimaKviz uspješno završen Vaš rezultat:  2/5Točnost: 0%Prijavite se za pregled objašnjenja 1/5 1/5 < Previous Dalje >