How to change the permissions of a file or directory in Linux
En este manual aprenderás a gestionar los permisos de archivos y directorios en sistemas GNU/Linux utilizando la línea de comandos. Comprender este sistema es esencial para garantizar la seguridad y el correcto funcionamiento del sistema.
Requisitos previos
Antes de comenzar, asegúrate de:
- Tener acceso a la terminal del sistema.
- Disponer de permisos suficientes (propietario del archivo o usuario con privilegios como
root).
🚀 Si aún no dispones de un servidor Linux, puedes desplegar uno fácilmente con SW Hosting en cuestión de segundos.
1. Tipos de permisos
Cada archivo o directorio en Linux puede tener tres tipos de permisos:
- Lectura (
r): Permite ver el contenido de un archivo o listar un directorio. - Escritura (
w): Permite modificar un archivo o añadir/eliminar elementos en un directorio. - Ejecución (
x): Permite ejecutar archivos (scripts o binarios) o acceder a un directorio.
2. Tipos de usuarios
Los permisos se asignan a tres categorías de usuarios:
- Usuario (
u) → Propietario del archivo - Grupo (
g) → Grupo asociado al archivo - Otros (
o) → Resto de usuarios del sistema
También puedes usar:
- Todos (
a) → Aplica a usuario, grupo y otros
3. Cómo funcionan las combinaciones
Cada tipo de usuario puede tener cualquier combinación de permisos (r, w, x).
Por ejemplo:
- El propietario puede tener control total (
rwx) - El grupo solo lectura (
r) - Otros sin permisos (
---)
Esto permite una gestión muy flexible del acceso a recursos.
4. Cambiar permisos con chmod
El comando principal para modificar permisos es:
chmod [cambios] archivo_o_directorio
⚠️ Solo el propietario o un usuario con privilegios administrativos puede modificar los permisos.
4.1 Sintaxis simbólica
Se utilizan letras para definir usuarios y permisos:
Permisos
r→ lecturaw→ escriturax→ ejecución
Usuarios
u→ propietariog→ grupoo→ otrosa→ todos
4.2 Ejemplos prácticos
Dar permiso de ejecución al propietario:
chmod u+x archivo
Dar permisos completos al propietario y grupo:
chmod ug+rwx archivo
Quitar permiso de ejecución a todos:
chmod a-x archivo
Dar ejecución a otros usuarios:
chmod o+x archivo
Quitar escritura al grupo:
chmod g-w archivo
4.3 Aplicar permisos de forma recursiva
Para aplicar cambios a un directorio y todo su contenido:
chmod -R u+wx directorio
Esto modificará permisos en todos los archivos y subdirectorios incluidos.
5. Consideraciones importantes
- Cambiar permisos incorrectamente puede comprometer la seguridad del sistema.
- Evita dar permisos excesivos (como
777) salvo que sea estrictamente necesario. - Realiza pruebas en entornos controlados si no estás seguro.
Nota sobre modo octal
Además del modo simbólico, chmod permite usar valores numéricos (modo octal) para definir permisos. Este método es más rápido en entornos avanzados y se explica en guías específicas.