Comanda chmod în Linux cu exemple

Comanda chmod în Linux cu exemple

The chmod Comanda (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. Folosind chmod 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

Defalcare a -rwxr--r-x :

  • 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ă comportamentul chmod comanda.
  • 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 ale chmod Comanda în Linux

Modul Proprietar Grup Alţii Utilizare tipică pentru scripturi
700 rwx --- --- Script privat (doar tu poți rula/edita).
711 rwx --x --x Numai executabil/traversat; continutul nu poate fi citit.
744 rwx r-- r-- Editați și rulați; alții pot citi (nu executa).
750 rwx r-x --- Executabil numai pentru echipă; ascuns de ceilalți.
754 rwx r-x r-- Exec pentru grup numai citire pentru alții.
755 rwx r-x r-x Obișnuit: toată lumea poate rula doar editarea dvs.
775 rwx rwx r-x Partajat î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 o chmod calculator.

calculator

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 utilizator Permisiuni Binar Valoare
Proprietar rwx 111 7
Grup rw- 110 6
Alţii rw- 110 6

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.

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

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

ls -l a.txtls -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 LinuxAici 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ți cd comandă 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 curenteverificarea 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 executabilverificarea 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 scriptulexecuta scriptul 

Această notație îi spune lui Linux să caute în directorul curent ( . ) pentru scenariul numit example.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?

  • O

    chmod a-x script.sh

  • B

    chmod o-x script.sh

  • C

    chmod go-x script.sh

  • D

    chmod u-x script.sh

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?

  • 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 /5 Precizie:  0% Conectați-vă pentru a vizualiza explicația 1 /5 1 /5 < Previous Următorul >