logo

Comanda chmod în Linux cu exemple

ThechmodComanda (modul de schimbare) în Linux/UNIX este utilizată pentru a seta sau modifica permisiunile pentru fișiere și directoare. Fiecare fișier din Linux are un proprietar, un grup și permisiuni asociate care determină cine poate citi, scrie sau executa fișierul. Folosindchmod Administratorii și utilizatorii pot controla aceste permisiuni pentru a asigura accesul și securitatea adecvate. Să luăm în considerare exemplul

Utilizați comanda chmod dând permisiunea 745

Comanda:

chmod 745 newfile.txt

Ieșire:



chmod' title=

Defalcare a-rwxr--r-x:

10 din 50.00
  • proprietar (7):rwx> citire scriere executare
  • Grup (4):r--> numai pentru citire
  • altele (5):r-x> citește și execută

Aici este fisierul:

  • Complet accesibil (citire/scriere/executare) de către proprietar
  • Numai citire pentru grup
  • Citiți + executați pentru alții

Sintaxa comenzii chmod

chmod [options] [mode] [File_name] 

Aici

  • Opțiuni: Steaguri opționale care modifică comportamentulchmodcomanda.
  • Mod: Permisiunile de setat sunt reprezentate de un număr octal de trei cifre sau de o notație simbolică (de exemplu, u=rwgo=rx).
  • Nume de fișier: Numele fișierului sau directorului pentru care urmează să fie modificate permisiunile.

Opțiuni disponibile în Chmod Command Linux

Iată câteva opțiuni utile alechmodComanda în Linux

ModulProprietarGrupAlţiiUtilizare tipică pentru scripturi
700 rwx------Script privat (doar tu poți rula/edita).
711 rwx--x--xNumai executabil/traversat; continutul nu poate fi citit.
744 rwxr--r--Editați și rulați; alții pot citi (nu executa).
750 rwxr-x---Executabil numai pentru echipă; ascuns de ceilalți.
754 rwxr-xr--Exec pentru grup numai citire pentru alții.
755 rwxr-xr-xObișnuit: toată lumea poate rula doar editarea dvs.
775 rwxrwxr-xPartajat într-un grup (atât proprietarul, cât și grupul pot edita/rula).

Nota: Opțiunile din `chmod` sunt utilizate practic pentru a face modificări în bloc și pentru a modifica permisiunile pe mai multe fișiere sau directoare simultan.

Tipuri de permisiuni cheie:

În Linux permisiuni determina cine are controlul asupra unui fișier sau director. Aceste permisiuni specifică cine poate citi (accesa) scrie (edita sau șterge) sau executa (executa) un fișier pe baza rolurilor utilizatorului: grup de proprietar și altele.

  • Citește ( r ): Permite vizualizarea conținutului fișierului.
  • Scrie ( w ): Permite modificarea fișierului sau directorului.
  • Execută ( x ): Permite rularea fișierului ca program sau intrarea în director.

Exemple de utilizare a modului octal:

Să presupunem că dăm permisiunea de citire și scriere proprietarului fișierului. Citire scriere și permisiune executabilă pentru grup. Permisiune numai în citire pentru Celălalt. Ei ar fi comanda noastră.

chmod 674 [file_name]

Aici.

  • 6 reprezintă permisiunea Proprietarului fișierului care sunt (rw-).
  • 7 reprezintă permisiunea Grupului care sunt (rwx).
  • 4 reprezintă permisiunea Altul care este (r--).

Nota: Puteți vizualiza și calcula permisiunile pentru fișiere, cum ar fi cine poate accesa citirea scrierea (ștergerea sau modificarea) sau executarea unui fișier pentru grupul de proprietari și alții (publici) folosind ochmodcalculator.

calculator' loading='lazy' title=

Aici folosim un calculator pentru a vizualiza permisiunile. De exemplu, proprietarul are permisiuni de citire, scriere și execuție, în timp ce grupul și alții (publici) au doar permisiuni de citire și scriere, dar nu pot executa fișierul.

Permisiune numerică echivalentă:

Sintaxă:

chmod 766 filename

Masă:

Tip de utilizatorPermisiuniBinarValoare
Proprietarrwx1117
Gruprw-1106
Alţiirw-1106

Exemplu de revenire a modificărilor efectuate de comanda „chmod” în Linux

Pentru a anula sau a anula modificările făcute de comanda „chmod” în Linux, putem folosi `chmod` comanda din nou, dar de data aceasta ar trebui să menționăm permisiunea corectă pe care o dorim. 

 Iată pașii pentru a anula sau a anula modificările:

  • Determinați permisiunea corectă pe care o doriți și utilizați din nou comanda `chmod`. 
    De exemplu: dacă dorim să revenim modificările la „rw-r--r--” (permisiunea de citire și scriere pentru permisiunea de numai citire a proprietarului pentru grup și altele), în conformitate cu aceasta, valoarea noastră octală ar fi „644” (citire = 4 scrie = 2).
  • Acum deschideți directorul și scrieți comanda dată:
    chmod 644 [file_or_directory_name]   

Aici, în loc de „[file_or_directory_name]”, folosiți numele fișierului sau directorului.

actrița indiană rani mukerji

Să presupunem că numele nostru de fișier este „a.txt”

Înainte de a reveni sau de a anula modificările:

ls -l a.txt' loading='lazy' title=ls -l a.txt   (folosit pentru a afișa toate permisiunile pe care le are a.txt)

După revenirea sau anularea modificărilor:

revenirea modificărilor chmod în Linux' loading='lazy' title=Aici putem vedea că s-au făcut schimbări

Implementarea practică a modului de a face scriptul executabil în Linux

În Linux, scripturile sunt scrise de obicei în limbi precum Bash Python sau Perl. Deși conținutul scriptului este crucial, asigurarea că are permisiuni executabile este la fel de importantă. Fără permisiuni de execuție, Linux nu va permite rularea scriptului.

Pasul 1: Navigați la Directorul Scriptului

Deschideți terminalul și utilizațicdcomandă pentru a naviga la directorul în care se află scriptul.

De exemplu:

cd /path/to/your/script

Pasul 2: Verificați permisiunile curente

Folosiți ` ls` comanda cu ` -l` opțiunea de a lista fișierele din director împreună cu permisiunile acestora. Acest pas vă ajută să identificați permisiunile curente ale scriptului dvs.:

ls -l
verificarea permisiunii curente' loading='lazy' title=verificarea permisului curent

Pasul 3: Faceți scriptul executabil

Pentru a face un script executabil, trebuie să utilizați `chmod`comanda. Presupunând că scriptul tău este numit `example .sh` îl puteți face executabil cu următoarea comandă:

chmod +x example.sh

Această comandă adaugă permisiunea de execuție (+x) la script.

Pasul 4: Verificați modificările

Rulați ` ls -l` comanda din nou pentru a verifica dacă scriptul are acum permisiuni de execuție. Ar trebui să vedeți un „x” în câmpul de permisiuni pentru script:

ls -l
verificarea modificărilor după ce a făcut scriptul executabil' loading='lazy' title=verificarea modificărilor după ce a făcut scriptul executabil

Pasul 5: Executați Scriptul

Acum că scriptul are permisiuni executabile, îl puteți rula folosind ` ./` notație urmată de numele scenariului. De exemplu:

./example.sh
executa scriptul' loading='lazy' title=executa scriptul

Această notație îi spune lui Linux să caute în directorul curent (.) pentru scenariul numitexample.sh.

Test sugerat Editați testul 5 întrebări

Ce permisiune numerică asigură că numai proprietarul fișierului poate citi și scrie, în timp ce grupul și alții pot citi doar fișierul?

  • O

    chmod 777 fișier.txt

  • B

    chmod 664 fișier.txt

  • C

    chmod 644 fișier.txt

  • D

    chmod 600 fișier.txt

Explicaţie:

644 > proprietar: rw- grup: r-- altii: r--.

De la ce comandă în mod simbolic revocă permisiunea de execuție numai altele fără a atinge permisiunile proprietarului sau grupului?

Explicaţie:

o-x elimină drepturile de execuție numai de la „alții”.

Care configurație chmod codifică corect o schemă de permisiuni în care proprietarul are autoritate operațională deplină, grupul are capacitatea de doar invocare, iar alții pot doar să inspecteze fără modificări?

  • O

    chmod 751 app.sh

  • B

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • D

    chmod 571 app.sh

Explicaţie:

751 > proprietar: rwx grup: r-x altele: --x (numai executa).

Care comandă aplică un model de permisiune care asigură că fiecare fișier creat într-un director moștenește automat grupul directorului, indiferent de proprietatea utilizatorului?

ce este un nume de utilizator
  • O

    chmod +t shared_dir/

  • B

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • D

    chmod 777 shared_dir/

Explicaţie:

g+s (setgid) forțează fișierele noi să moștenească grupul directorului.

Un script trebuie să fie executabil pentru toți utilizatorii, modificabil doar de proprietarul său, iar directorul trebuie să împiedice pe oricine, cu excepția proprietarului real al fișierului, să ștergă sau să redenumească fișierele. Ce pereche de comenzi satisface acest model de securitate?

  • O

    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

Explicaţie:

755 > proprietarul scrie toate pot executa; +t restricționează ștergerea fișierelor la proprietarii fișierelor.

Comanda chmod în Linux cu exempleTest completat cu succes Scorul dvs.:  2/5Precizie: 0%Conectați-vă pentru a vizualiza explicația 1/5 1/5 < Previous Următorul >