Permisos de acceso: chmod, chown, chgrp, chattr
...
Introducción
Cada archivo y directorio tiene un sistema de permisos que controla quién puede leer, modificar o ejecutar ese recurso
Cada archivo tiene tres tipos de usuarios:
- usuario (u) → propietario del archivo
- grupo (g) → grupo al que pertenece el archivo
- otros (o) → resto de usuarios del sistema
Y tres tipos de permisos:
- r → lectura (read)
- w → escritura (write)
- x → ejecución (execute)
Ejemplo:
-rwxr-xr--
Significado:
- - → tipo de archivo (- archivo, d directorio)
- rwx → permisos del usuario (lectura, escritura, ejecución)
- r-x → permisos del grupo (lectura y ejecución)
- r-- → permisos de otros (solo lectura)
Los permisos también se pueden representar con números:
- r = 4
- w = 2
- x = 1
Por ejemplo:
chmod 755 archivo
Equivale a:
- 7 (rwx) → usuario
- 5 (r-x) → grupo
- 5 (r-x) → otros
Permisos en directorios
En directorios, los permisos tienen un significado especial:
- r → ver contenido (listar archivos)
- w → crear o eliminar archivos dentro
- x → acceder (entrar con cd)
Una vez entendido el sistema, se utilizan los siguientes comandos de este apartado.
chmod
Modifica los permisos de acceso de archivos o directorios.
Sintaxis:
$ chmod permisos fichero
Ejemplo:
$ chmod 755 script.sh
Este comando: da permisos de lectura, escritura y ejecución al propietario y lectura + ejecución al grupo y otros
Ejemplo 2:
$ chmod u+x archivo.sh
añade permiso de ejecución al usuario propietario del fichero
Opciones comunes:
- -R → aplica cambios de forma recursiva
chown
Cambia el propietario de un archivo o directorio.
Ejemplo:
# chown juan archivo.txt
Este comando asigna al archivo archivo.txt el usuario juan como propietario.
Ejemplo 2:
# chown juan:devs archivo.txt
Este comando cambia usuario y grupo a la vez para ese archivo.
Opciones comunes:
- -R → aplica cambios de forma recursiva
chgrp
Cambia el grupo propietario de un archivo o directorio.
Ejemplo de uso:
$ chgrp devs archivo.txt
Este comando: asigna el grupo devs al archivo
Opciones comunes:
- -R → aplica cambios de forma recursiva
chattr
Modifica atributos especiales de archivos en sistemas de archivos como ext4.
Ejemplo de uso:
# chattr +i archivo.txt
Este comando: hace el archivo inmutable (no se puede modificar ni borrar)
Ejemplo de uso 2:
# chattr -i archivo.txt
Este comando: elimina el atributo inmutable (ya se puede modificar y borrar)
Opciones comunes:
- +i → inmutable
- +a → solo permite añadir contenido