Com s'utilitza l'ordre chmod a Linux

Controleu qui pot accedir a fitxers, cercar directoris i executar scripts amb Linux chmod comandament. Aquesta ordre modifica els permisos dels fitxers Linux, que a primera vista es veuen complicats, però en realitat són bastant senzills un cop se sap com funcionen.

chmod Modifica els permisos de fitxers

A Linux, qui pot fer alguna cosa amb un fitxer o directori es controla mitjançant conjunts de permisos. Hi ha tres conjunts de permisos. Un conjunt per al propietari del fitxer, un altre per als membres del grup del fitxer i un conjunt final per a la resta.

Els permisos controlen les accions que es poden realitzar al fitxer o al directori. Permeten o impedeixen que es llegeixi, modifiqui o, si es tracta d’un script o programa, s’executi un fitxer. Per a un directori, els permisos regulen qui pot cd al directori i qui pot crear o modificar fitxers dins del directori.

Feu servir el fitxerchmod per definir cadascun d'aquests permisos. Per veure quins permisos s’han establert en un fitxer o directori, podem utilitzar-lo ls.

Visualització i comprensió dels permisos dels fitxers

Podem utilitzar el -l (format llarg) opció a tenir ls llista els permisos de fitxers per a fitxers i directoris.

ls -l

A cada línia, el primer caràcter identifica el tipus d’entrada que s’enumera. Si és un guió (-) és un fitxer. Si és la carta d és un directori.

Els nou caràcters següents representen la configuració dels tres conjunts de permisos.

  • Els tres primers caràcters mostren els permisos de l'usuari propietari del fitxer (permisos d'usuari).
  • Els tres caràcters centrals mostren els permisos per als membres del grup del fitxer (permisos de grup).
  • Els tres darrers caràcters mostren els permisos per a qualsevol persona que no estigui a les dues primeres categories (altres permisos).

Hi ha tres caràcters a cada conjunt de permisos. Els caràcters són indicadors de la presència o absència d’un dels permisos. O bé són un guió (-) o una carta. Si el caràcter és un guió, significa que no es concedeix permís. Si el personatge és un r, w, o un x, que s'ha concedit el permís.

Les lletres representen:

  • r: Permisos de lectura. Es pot obrir el fitxer i visualitzar-ne el contingut.
  • w: Permisos d'escriptura. El fitxer es pot editar, modificar i suprimir.
  • x: Executeu permisos. Si el fitxer és un script o un programa, es pot executar (executar).

Per exemple:

  •  --- significa que no s’han concedit permisos.
  •  rwx significa que s'han concedit permisos complets. Els indicadors de lectura, escriptura i execució estan presents.

A la nostra captura de pantalla, la primera línia comença per un d. Aquesta línia fa referència a un directori anomenat "arxiu". El propietari del directori és "dave" i el nom del grup al qual pertany el directori també s'anomena "dave".

Els tres caràcters següents són els permisos d’usuari d’aquest directori. Aquests mostren que el propietari té permisos complets. El r, w, i x els personatges són presents. Això significa que l'usuari dave ha permès llegir, escriure i executar aquest directori.

El segon conjunt de tres caràcters són els permisos de grup, aquests són r-x. Aquests mostren que els membres del grup dave han llegit i executat permisos per a aquest directori. Això vol dir que poden llistar els fitxers i el seu contingut al directori i ho poden fer cd (executar) en aquest directori. No tenen permisos d’escriptura, de manera que no poden crear, editar ni suprimir fitxers.

El conjunt final de tres personatges també ho sónr-x. Aquests permisos s'apliquen a persones que no es regeixen pels dos primers conjunts de permisos. Aquestes persones (anomenades "altres") han llegit i executat permisos en aquest directori.

Per tant, per resumir, els membres del grup i altres persones han llegit i executat permisos. El propietari, un usuari anomenat dave, també té permisos d’escriptura.

Per a tots els altres fitxers (a part del fitxer de script mh.sh) dave i els membres del grup dave tenen propietats de lectura i escriptura als fitxers i els altres només tenen permisos de lectura.

Per al cas especial del fitxer de script mh.sh, el propietari David i els membres del grup han llegit, escriu i executat permisos, i els altres només han llegit i executat permisos.

Comprensió de la sintaxi dels permisos

Usar chmod per establir permisos, hem de dir-li:

  • OMS: Per a qui estem establint permisos.
  • Què: Quin canvi fem? Afegim o suprimim el permís?
  • Quin: Quins dels permisos estem establint?

Utilitzem indicadors per representar aquests valors i formem breus "declaracions de permisos", com ara u + x, on "u" significa "usuari" (qui), "+" significa afegir (què) i "x" significa el permís d'execució (quin).

Els valors de "qui" podem utilitzar són:

  • tu: Usuari, és a dir, el propietari del fitxer.
  • g: Grup, és a dir, membres del grup al qual pertany el fitxer.
  • o: Altres, és a dir, persones que no es regeixen per la tu i g permisos.
  • a: Tot, és a dir, tot l'anterior.

Si no s’utilitza cap d’aquestes, chmod es comporta com si "a”S’havia utilitzat.

Els valors "quins" podem utilitzar són:

  • : Signe menys. Elimina el permís.
  • +: Rètol Plus. Concedeix el permís. El permís s’afegeix als permisos existents. Si voleu tenir aquest permís i només aquest permís definit, utilitzeu el fitxer = opció, descrita a continuació.
  • =: Signe igual. Establiu un permís i elimineu-ne d'altres.

Els valors "quins" podem utilitzar són:

  • r: El permís de lectura.
  • w: El permís d'escriptura.
  • x: El permís d'execució.

Configuració i modificació de permisos

Suposem que tenim un fitxer on tothom hi té tots els permisos.

ls -l new_ file.txt

Volem que l’usuari tingui permisos de lectura i escriptura i que el grup i altres usuaris només tinguin permisos de lectura. Podem fer-ho mitjançant l'ordre següent:

chmod u = rw, og = r new_file.txt

L'ús de l'operador "=" significa que eliminem els permisos existents i, a continuació, establim els especificats.

comprovem el nou permís d’aquest fitxer:

ls -l fitxer_nou.txt

S'han eliminat els permisos existents i s'han establert els nous permisos, tal com esperàvem.

Què tal si afegiu un permís sense voleu eliminar la configuració de permisos existent? També ho podem fer fàcilment.

Suposem que tenim un fitxer de script que hem acabat d’editar. Hem de fer-lo executable per a tots els usuaris. Els seus permisos actuals són els següents:

ls -l new_script.sh

Podem afegir el permís d'execució per a tothom amb l'ordre següent:

chmod a + x new_script.sh

Si fem una ullada als permisos, veurem que ara el permís d’execució s’atorga a tothom i que els permisos existents continuen vigents.

ls -l new_script.sh

Podríem haver aconseguit el mateix sense la "a" de l'enunciat "a + x". L'ordre següent hauria funcionat igual de bé.

chmod + x new_script.sh

Configuració de permisos per a diversos fitxers

Podem aplicar permisos a diversos fitxers alhora.

Aquests són els fitxers del directori actual:

ls -l

Suposem que volem eliminar els permisos d'escriptura dels "altres" usuaris dels fitxers que tinguin una extensió ".page". Ho podem fer amb l'ordre següent:

chmod o-r * .page

Comprovem quin efecte ha tingut:

ls -l

Com podem veure, el permís de lectura s'ha eliminat dels fitxers ".page" de la categoria "altres" d'usuaris. No s'ha vist afectat cap altre fitxer.

Si haguéssim volgut incloure fitxers als subdirectoris, podríem haver utilitzat el fitxer -R (recursiva) opció.

chmod -R o-r * .page

Taquigrafia numèrica

Una altra forma d'utilitzar chmod és proporcionar els permisos que voleu donar al propietari, al grup i a altres persones com a número de tres dígits. El dígit situat a l'esquerra representa els permisos del propietari. El dígit central representa els permisos per als membres del grup. El dígit situat a la dreta representa els permisos dels altres.

Els dígits que podeu utilitzar i el que representen s’enumeren aquí:

  • 0: (000) Sense permís.
  • 1: (001) Executeu el permís.
  • 2: (010) Permís d'escriptura.
  • 3: (011) Permisos d'escriptura i execució.
  • 4: (100) Permís de lectura.
  • 5: (101) Permets de lectura i execució.
  • 6: (110) Permisos de lectura i escriptura.
  • 7: (111) Permisos de lectura, escriptura i execució.

Cadascun dels tres permisos està representat per un dels bits de l'equivalent binari del nombre decimal. Per tant, 5, que és 101 en binari, significa llegir i executar. 2, que és 010 en binari, significaria el permís d'escriptura.

Mitjançant aquest mètode, definiu els permisos que voleu tenir; no afegiu aquests permisos als permisos existents. Per tant, si els permisos de lectura i escriptura ja estiguessin al seu lloc, hauríeu d’utilitzar 7 (111) per afegir permisos d’execució. Si feu servir 1 (001), s’eliminarien els permisos de lectura i escriptura i s’afegiria el permís d’execució.

Tornem a afegir el permís de lectura als fitxers ".page" per a la categoria d'usuaris dels altres. També hem d’establir els permisos d’usuari i grup, de manera que hem d’establir-los al que ja són. Aquests usuaris ja tenen permisos de lectura i escriptura, que són 6 (110). Volem que els "altres" tinguin permisos de lectura i permisos, de manera que cal establir-los en 4 (100).

L'ordre següent ho farà:

chmod 664 * .page

Això defineix els permisos que necessitem per a l'usuari, els membres del grup i altres per al que necessitem. Els usuaris i els membres del grup restableixen els seus permisos al que ja eren i els altres han restablert el permís de lectura.

ls -l

Opcions avançades

Si llegiu la pàgina de manual de chmod veureu que hi ha algunes opcions avançades relacionades amb els bits SETUID i SETGID i amb la supressió restringida o el bit “enganxós”.

Per al 99% dels casos que necessiteu chmod doncs, les opcions descrites aquí us cobriran.


$config[zx-auto] not found$config[zx-overlay] not found