Comanda Linux chmod este utilizată pentru a modifica permisiunile de acces ale fișierelor și directoarelor. Inseamna schimba modul . Nu poate modifica permisiunea linkurilor simbolice. Chiar și, ignoră legăturile simbolice care întâlnesc traversarea recursivă a directoarelor.
În Linux sistem de fișiere, fiecare fișier este asociat cu un anumit proprietar și are permisiunea de acces pentru diferiți utilizatori. Clasele de utilizatori pot fi:
- proprietar
- membrul grupului
- Alții (toți ceilalți)
Permisiunile pentru fișiere în Linux sunt următoarele trei tipuri:
- citeste (r)
- scrie (w)
- executa (x)
Scurt istoric al Chmod
În primul rând, comanda chmod este reprezentată în AT&T UNIX versiunea 1 cu apelul de sistem chmod. Listele de control al accesului au fost incluse în mai multe sisteme de fișiere, incluzând aceste moduri cele mai comune pentru a spori flexibilitatea, deoarece sistemele au crescut în tipuri și un număr de utilizatori.
Versiunea chmod aranjată în coreutils GNU a fost specificată de Jim Meyering și David MacKenzie. Această comandă este prezentă ca un pachet izolat pentru Microsoft Windows ca element al colecției de porturi Win32 native UnxUtils de utilitare de bază asemănătoare GNU Unix. De asemenea, comanda chmod a fost livrată către sistemul de operare IBM i.
Să vedem cum să schimbăm permisiunea fișierului folosind comanda chmod.
Sintaxă:
câte fructe sunt acolo
Sintaxa de bază a comenzii chmod este următoarea:
chmod
Opțiunile implementate în general sunt:
Obiectul țintă este influențat dacă este menționată o legătură simbolică. Modurile de fișiere legate direct de legăturile simbolice nu sunt utilizate în mod obișnuit.
Componenta principală a permisiunii chmod:
De exemplu, rwxr-x---
Toate grupurile de trei caractere specifică permisiuni pentru toate clasele:
Opțiuni:
Comanda chmod acceptă următoarele opțiuni de linie de comandă:
-c, --modificări: Este similar cu opțiunea verbose, dar diferența este că este raportată dacă a fost făcută o modificare.
-f, --tăcut, --liniștit: Este folosit pentru a suprima mesajele de eroare.
-v, --verbos: Este folosit pentru a afișa un diagnostic pentru fiecare fișier procesat.
--no-preserve-root: Este folosit pentru a nu trata simbolul backslash ('/'), în special (prestabilit).
--preserve-root: Dacă se folosește această opțiune, nu va funcționa recursiv pe backslash ('/').
--reference=RFILE: Este folosit pentru a specifica modul RFILE sau valorile MODE.
-R, --recursiv: Este folosit pentru a schimba fișiere și directoare în mod recursiv.
--Ajutor: Este folosit pentru a afișa manualul de ajutor care conține o scurtă descriere a opțiunilor de utilizare și asistență.
--versiune: Este folosit pentru a afișa informațiile despre versiune.
dezactivarea modului dezvoltator Android
Sintaxa permisiunii fișierului
Dacă sunteți un utilizator nou, este posibil să vă confundați cu diferitele tipuri de litere folosite pentru a seta permisiunea de fișier. Deci, înainte de a continua cu comanda chmod, să înțelegem sintaxa permisiunii fișierului.
Pentru a seta permisiunea unui fișier sau director, trebuie să specificăm următoarele lucruri:
- Cine: Cine suntem. (utilizator)
- Ce: Ce modificare vom face (cum ar fi adăugarea sau eliminarea permisiunii)?
- Care: Care dintre permisiuni?
Declarația de permisiune este reprezentată în indicatori precum u+x, u-x. Unde „u” înseamnă „utilizator”, „+” înseamnă adăugare, „-” înseamnă eliminare, „x” înseamnă executabil (care).
are următorul java
Valoarea utilizatorului poate fi:
u: proprietarul dosarului
g: membru al grupului
o: altele
a: toate
Tipurile de permisiuni pot fi r, w și x.
Setarea și actualizarea permisiunilor
Pentru a seta permisiunea unui fișier, executați o instrucțiune de permisiune cu comanda chmod. De exemplu, dorim să setăm permisiunea de citire și scriere pentru toți utilizatorii și grupurile de fișier „Demo.txt”. Trebuie să transmitem instrucțiunea de permisiune „u=rw,go=rw Demo.txt” cu comanda chmod. Pentru a afișa permisiunea de fișier, executați comanda de mai jos:
ls -l Demo.txt
Comanda de mai sus va afișa permisiunea curentă a fișierului pentru fișierul „Demo.txt”.
Pentru a schimba permisiunea, executați comanda de mai jos:
chmod u=rw,go=rw Demo.txt
Luați în considerare rezultatul de mai jos:
Din rezultatul de mai sus, permisiunea de acces pentru „Demo.txt” s-a schimbat.
Setarea permisiunilor pentru mai multe fișiere
Putem seta permisiunea pentru mai multe fișiere simultan folosind comanda chmod. Pentru a modifica permisiunea de fișier a mai multor fișiere, specificați modelul de fișier cu comanda chmod. De exemplu, dacă dorim să setăm permisiunea de citire și scriere pentru toate fișierele text, specificați *. txt model cu comanda chmod.
Pentru a vedea permisiunea tuturor fișierelor text din directorul de lucru curent, executați comanda de mai jos:
ls -l *.txt
Acesta va lista toate fișierele text cu modul lor de permisiune. Luați în considerare rezultatul de mai jos:
Din rezultatul de mai sus, multe fișiere au permisiunea de citire doar pentru alți utilizatori.
Pentru a seta permisiunea de citire și scriere pentru alți utilizatori, executați comanda de mai jos:
chmod o+w *.txt
Acesta va seta permisiunea de citire și scriere pentru alți utilizatori ai fișierelor text. Luați în considerare rezultatul de mai jos:
Stenografia numerică
Putem folosi valorile numerice în loc de litere pentru a specifica permisiunile. O valoare din trei cifre este utilizată pentru a specifica permisiunea. Cifra din stânga reprezintă proprietarul (u), iar cifra din mijloc reprezintă membrii grupului (g). Cifra din dreapta reprezintă celelalte (o).
Următorul tabel reprezintă cifrele și permisiunile acestora:
Cifre | Permisiuni |
---|---|
000 | Fara permisiune |
001 | Executați permisiunea |
010 | Permisiune de scriere |
011 | Scrieți și executați permisiuni |
100 | Permisiune de citire |
101 | Citiți și executați permisiuni |
110 | Permisiuni de citire și scriere |
111 | Permisiuni de citire, scriere și executare |
Moduri simbolice
De asemenea, comanda chmod acceptă notația simbolică cu granulație mai fină, care permite schimbarea unor moduri specifice. Modul simbolic constă din trei elemente, care sunt îmbinate pentru a forma un singur șir de text:
$ chmod [references] [operator] [modes] file...
Programul chmod aplică un operator pentru a defini modul în care ar trebui să fie aranjate modurile fișierelor. Operatorii de mai jos sunt aprobați:
regex java pentru
Operator | Descriere | |
---|---|---|
+ | Se adaugă cele descrise la clasele descrise. | |
- | Îndepărtează modul descris din clasele descrise. | |
= | Reprezintă că modurile descrise urmează să fie create aceleași moduri pentru clasele descrise. |
Modurile reprezintă ce permisiuni vor fi eliminate sau acordate din clasele descrise. Există în principal trei moduri comune care sunt legate de permisiunile comune:
Nume | Modul | Descriere |
---|---|---|
citit | r | Citește un fișier sau listează conținutul unui director. |
scrie | În | Acesta scrie într-un director sau fișier. |
a executa | X | Recursează un arbore de directoare sau execută un fișier. |
execuție specială | X | Nu este permisiunea, ci poate fi folosită mai degrabă decât x. Folosește permisiunile de execuție pentru directoare în ciuda permisiunilor lor curente și folosește permisiunile de execuție pentru un fișier care are cel puțin un set de biți de permisiuni de execuție. Este util dacă este folosit cu operatorul „+” și fără a seta permisiunea de execuție, ceea ce s-ar întâmpla dacă am folosi doar chmod -R a+rx ., în timp ce putem implementa chmod -R a+rx . cu x mai degrabă. |
Modificările multiple pot fi descrise prin izolarea mai multor moduri simbolice împreună cu virgule. Comanda chmod va inspecta umask dacă nu este specificat un utilizator.
Moduri speciale
De asemenea, comanda chmod poate modifica modurile speciale și permisiunile suplimentare ale unui director sau fișier. Modurile simbolice aplică „s” pentru a indica modurile setgid și setuid și „t” pentru a indica modul sticky. Un mod este folosit doar pentru clasele corecte, în ciuda faptului că sunt menționate sau nu alte clase.
Aproape toate sistemele de operare acceptă numeric specificația modului special, în special în octal, dar câteva nu o fac. Numai modurile simbolice pot fi aplicate acestor sisteme.
Câteva exemple de linie de comandă:
Comanda | Descriere |
---|---|
chmod a+r publicComments.txt | Va adăuga permisiunea de citire pentru fiecare clasă (adică, Grup, Proprietar și Alții). |
chmod a-x publicComments.txt | Va elimina permisiunea de execuție pentru fiecare clasă. |
chmod a+rx viewer.sh | Va adăuga permisiunile de execuție și citire pentru fiecare clasă. |
chmod u=rw, g=r, o=internalPlan.txt | Acesta va seta permisiunile de scriere și citire pentru utilizator, va fi citit pentru Grup și va respinge accesul pentru Alții. |
chmod -R u+w, go-w docs | Acesta va include permisiunea de scriere în documentele directorului și în fiecare conținut al acestuia pentru proprietar și șterge permisiunea de scriere pentru alții și grup. |
chmod și=rw groupAgreements.txt | Acesta va seta permisiunile de scriere și citire pentru grup și utilizator. |
chmod 664 global.txt | Va seta permisiunile de scriere și citire pentru grup și utilizator și va acorda permisiunea de citire celorlalți. |
chmod 744 Show_myCV.sh | Acesta va seta permisiunile de execuție, scriere și citire pentru utilizator și acordă permisiunea de citire Grupului și altora. |