Com canviar els permisos d'un fitxer o directori a Linux
En aquest manual aprendrem a canviar els permisos de qualsevol fitxer en un sistema operatiu GNU/Linux a través de la línia d'ordres.
Abans d'esmentar qualsevol tipus d'ordres, però, haurem d'aprendre sobre el funcionament del sistema de permisos en sistemes operatius GNU/Linux. T'ho mostrarem a continuació:
1. Tipus de permisos
En concret hi ha tres tipus de permisos que un fitxer o directori en linux pot tenir assignat:
- Permís de lectura: permet a lusuari llegir larxiu o en directoris llistar el contingut.
- Permís d'escriptura: permet a l'usuari modificar el fitxer o directoris afegir fitxers o modificar el propi directori.
- Permís d'execució: permet executar fitxers (per exemple scripts de BASH) o en directoris tenir-hi accés (encara que no necessàriament llistar el contingut si no es disposa de permís de lectura).
2. Tipus d'usuaris
Els tres tipus de permisos que hem esmentat anteriorment poden ser activats o desactivats a cada fitxer/directori per a qualsevol dels tres tipus d'usuaris que esmentarem a continuació:
- Propietari: designat com el propietari de l'arxiu/directori.
- Grup: grup d'usuaris a què pertany l'arxiu/directori.
- Un altre: qualsevol altre usuari del sistema.
3. Combinacions de permisos i usuaris
Com ja hem explicat a l'apartat anterior, aquests tres tipus d'usuaris i permisos poden ser assignats lliurement.
Per exemple, el propietari del fitxer/directori pot tenir permisos de lectura, escriptura i execució, mentre que altres usuaris del sistema només poden tenir permisos de lectura. Qualsevol combinació d'aquests tres permisos i tres usuaris és factible brindant un total de 512 combinacions possibles.
4. Canviar permisos d'un fitxer o directori
Finalment, per assignar aquests permisos utilitzarem l'ordre "chmod".
Important: Per poder canviar els permisos d'un fitxer o directori cal ser propietari o usuari amb privilegis d'administració. Només el propietari o usuaris de tipus 'root' poden canviar els permisos d'un fitxer/directori.
La comanda chmod té la sintaxi següent:
chmod [permís a assignar o retirar] nomdearxiu
Els símbols usats per descriure un permís són els següents:
Permisos:
r: lectura
w: escriptura
x: execució
Usuaris:
u: propietari
g: grup
o: altres
a: tots els anteriors
Així, l'abreujament "u+w" indicaria que es vol assignar el permís d'escriptura al propietari.
Altres exemples i combinacions:
- o+x (assigna el permís d'execució a "altres")
- a-x (elimina el permís d'execució a tots els usuaris)
- g-w (elimina el permís d'execució als membres del grup a què pertany l'arxiu)
- u+r (atorga permisos de lectura al propietari)
Coneixent aquestes abreviatures, ara podrem utilitzar la comanda "chmod" de la següent manera:
chmod u+x nomdearxiu
Aquesta ordre atorgaria permís d'execució al fitxer "nom de fitxer" i al propietari del mateix.
Múltiples permisos poden ser atorgats a múltiples usuaris alhora. D'aquesta manera:
chmod ug+wrx nomdearxiu
Aquesta ordre atorgaria permisos de lectura, escriptura i execució (permisos complets) tant al propietari com als membres del grup a l'arxiu "nom de fitxer".
Finalment, cal destacar la utilitat de l'opció "-R" que aplica aquests permisos de forma recursiva a qualsevol fitxer que es trobi dins d'un directori. Per exemple:
chmod -R u+wx nomdedirectori
Aquesta ordre aplica els permisos d'escriptura i execució per al propietari a qualsevol fitxer o directori contingut dins de "nom de directori", inclusivament a fitxers/directoris continguts en nivells inferiors.
Nota: l'ordre "chmod" disposa d'una anomenada "mod octal" que permet assignar permisos mitjançant l'ús de números. Aquesta informació estarà detallada en un altre manual dusuari.