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 de començar amb el tutorial, no teniu un servidor Cloud amb Linux? No et preocupis! Amb només un clic, pots desplegar fàcilment amb SW Hosting.
cta:cloud_so
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 l'usuari llegir l'arxiu 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 qui 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.
Abans de començar amb el tutorial, no tens un servidor Cloud amb Linux? No et preocupis! Amb només un clic, pots desplegar-lo fàcilment amb SW Hosting.
cta:cloud_so
4. Canviar permisos d'un fitxer o directori
Finalment, per assignar aquests permisos utilitzarem l'ordre chmod
.
info 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 qui 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 nomarxiu
Aquesta ordre atorgaria permís d'execució al fitxer nomarxiu
i al propietari del mateix.
Múltiples permisos poden ser atorgats a múltiples usuaris alhora. D'aquesta manera:
chmod ug+wrx nomarxiu
Aquesta ordre atorgaria permisos de lectura, escriptura i execució (permisos complets) tant al propietari com als membres del grup, a l'arxiu nomarxiu
.
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 nomdirectori
Aquesta ordre aplica els permisos d'escriptura i execució per al propietari a qualsevol fitxer o directori contingut dins de nomdirectori
, inclusivament a fitxers/directoris continguts en nivells inferiors.
info 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 d'usuari.
Recuerda que si no dispones aun de un servidor Cloud con Linux puedes desplegarlo fácilmente con SW Hosting.
cta:cloud_so