Drupal Pills
Joan Galtés i Moreno

Entén com funcionen els permisos de fitxer a Linux en 5 minuts

El sistema de permisos ajuda a controlar qui pot veure, modificar o executar fitxers i directoris al sistema Linux, la qual cosa és fonamental per mantenir la seguretat i la integritat del sistema. A Linux, els permisos de fitxers i directoris es poden expressar de dues maneres: amb notació simbòlica (com ara rwx) i amb notació octal (com ara 777).

En aquest article aprendrem el funcionament dels permisos a Linux mitjançant el següent exemple, resultat d'executar la comanda ls -la a l'arrel d'un Drupal 10:

↑ Tornar a dalt

Notació simbòlica

Primer de tot, esmentar que en vermell s'indica si l'ítem és un fitxer (-) o una carpeta (d, de directory). També podeu trobar-vos amb una l (L minúscula) que significaria que l'ítem és un enllaç simbòlic (symlink).

Exemple de llistat de constinguts a l'arrel d'un Drupal instal·lat a un entorn Linux

Dit això, passem a comentar els permisos, que són les columnes amb lletres immediatament a la dreta, agrupats en 3 conjunts de 3 caràcters, el quals poden adoptar 4 valors: 'r' (read), 'w' (write), 'x' (execute) o '-' (none).

  • 1r grup (en verd): Es tracta dels permisos del propietari.
  • 2n grup (en groc): Es tracta dels permisos dels membres del grup al qual també pertany el propietari.
  • 3r grup (en blau): Es tracta dels permisos per a tota la resta d'usuaris (tots aquells que no són ni el propietari ni pertanyen al seu grup d'usuaris).

Per exemple, mirem algunes línies de la imatge:

a) Directori . (directori actual): 

drwxr-xr-x 7 web2 4.0K Aug  8 21:59 .
  • d: És un directori.
  • rwx: El propietari (web2) té permisos de lectura, escriptura i execució.
  • r-x: El grup té permisos de lectura i execució, però no d'escriptura.
  • r-x: Tots els altres usuaris tenen permisos de lectura i execució, però no d'escriptura.

b) Fitxer autoload.php

-rwxr-xr-x 1 web2 315 Jul 25 17:35 autoload.php
  • -: És un fitxer normal.
  • rwx: El propietari (web2) té permisos de lectura, escriptura i execució.
  • r-x: El grup té permisos de lectura i execució, però no d'escriptura.
  • r-x: Tots els altres usuaris tenen permisos de lectura i execució, però no d'escriptura.

c) Fitxer .htpasswd:

-rw-r----- 1 web2 47 Aug  8 21:59 .htpasswd
  • -: És un fitxer normal.
  • rw-: El propietari (web2) té permisos de lectura i escriptura, però no d'execució.
  • r--: El grup té permisos de lectura, però no d'escriptura ni execució.
  • ---: Tots els altres usuaris no tenen cap permís per a aquest fitxer.
↑ Tornar a dalt

La notació octal

Ara farem esment a la notació octal dels permisos. En aquesta notació, els permisos es representen amb tres dígits, on cadascun pot tenir un valor entre 0 i 7. Cada dígit octal es deriva de sumar els valors dels permisos:

  • Lectura (r): 4
  • Escriptura (w): 2
  • Execució (x): 1

Per exemple, si el propietari té permisos rwx, això es representa amb el dígit 7 (4+2+1=7). Si el grup té permisos r-x, això es representa amb el dígit 5 (4+0+1=5). Si els altres tenen permisos r--, això es representa amb el dígit 4 (4+0+0=4).

Així, 777 significa que tots (propietari, grup i altres) tenen tots els permisos (rwx), mentre que 754 significaria:

  • Propietari: rwx (7 = 4+2+1)
  • Grup: r-x (5 = 4+0+1)
  • Altres: r-- (4 = 4+0+0)
↑ Tornar a dalt

Interpretació dels permisos

  • Directoris (d): Necessiten el permís d'execució (x) per poder accedir-hi (cd a un directori). Si no tens permís d'execució, no pots entrar al directori.
  • Fitxers executables (x): Si un fitxer té el permís d'execució, es pot executar com a programa o script. És típic per a scripts i binaris.
  • Lectura (r) i escriptura (w): S'apliquen tant a fitxers com a directoris. Sense permís de lectura, no pots veure el contingut d'un fitxer o llistar el contingut d'un directori. Sense permís d'escriptura, no pots modificar un fitxer ni afegir/eliminar fitxers dins d'un directori.
↑ Tornar a dalt

Sobre l'autor/a

Joan Galtés i Moreno

Desenvolupador full-stack, especialitzat en Drupal des de 2008. M'agrada concebre i desenvolupar tant el back-end com el front-end en tots els meus projectes. Entusiasta de les noves tecnologies, amb un bon domini de PHP, MySQL, Git, Javascript, HTML 5, SASS i CSS 3, posant molt d'èmfasi en la usabilitat i l'accessibilitat de tot allò que desenvolupo.

Comparteix

Deixa el teu comentari