08 Linux Permissions I

Published Apr 10, 2023

Linuxpermissions

🧠 Introducción

En Linux, controlar los permisos de archivos y directorios es clave para proteger el sistema, organizar el acceso y evitar errores humanos. Ya sea para mantener segura una configuración o evitar que otro usuario borre archivos importantes por accidente, dominar estos conceptos es fundamental para cualquier administrador o usuario intermedio.

En esta guía aprenderás a:

  • Entender cómo se estructuran los permisos.
  • Visualizar quién tiene acceso.
  • Cambiar el propietario o grupo de un archivo.
  • Modificar los permisos usando chmod.

1. ¿Por Qué Son Importantes los Permisos?

Imagina que compartes tu computadora con otros usuarios. No querrás que alguien edite tus scripts o borre configuraciones críticas.

Con los permisos, puedes controlar quién puede leer, modificar o ejecutar cada archivo o carpeta.

2. ¿Cómo Se Estructuran los Permisos?

Cada archivo o carpeta tiene tres tipos de usuarios:

Tipo ¿Quién es?
Owner El propietario del archivo (quien lo creó).
Group Usuarios que pertenecen al mismo grupo.
Others Todos los demás usuarios del sistema.

Y cada uno puede tener estos permisos:

Permiso Letra Significado
Leer r Ver el contenido del archivo
Escribir w Modificar el archivo o carpeta
Ejecutar x Ejecutar scripts o entrar a carpetas

3. Ver los Permisos de un Archivo

Usa el comando:

ls -l

Ejemplo de salida:

-rwxr--r-- 1 usuario grupo 4096 Dec 12 14:35 archivo.txt

¿Qué significa?

  • : Es un archivo regular (d si fuera una carpeta, l si fuera enlace).
  • rwx: Permisos del propietario (read, write, execute).
  • r--: Permisos del grupo (solo lectura).
  • r--: Permisos para otros usuarios.
  • Luego se muestra el usuario, grupo, tamaño, fecha y nombre del archivo.

4. Cambiar Propietario y Grupo

🔑 Cambiar el propietario:

sudo chown nuevo_usuario archivo.txt

👥 Cambiar propietario y grupo a la vez:

sudo chown usuario:grupo archivo.txt

🧑‍🤝‍🧑 Cambiar solo el grupo:

sudo chgrp grupo archivo.txt

Ejemplo:

sudo chown edu:developers codigo.py
sudo chgrp devteam codigo.py

5. Cambiar Permisos con chmod

🛠️ Sintaxis general:

chmod [opción] archivo

▶️ Usos comunes:

  • Dar permiso de ejecución:
chmod +x script.sh
  • Quitar permiso de escritura:
chmod -w archivo.txt
  • Establecer permisos directamente:
chmod 755 archivo

6. Permisos con Números (Modo Octal)

Cada tipo de permiso tiene un valor:

Permiso Valor
r 4
w 2
x 1

Suma los valores para cada grupo:

Octal Permiso Significado
7 rwx Leer, escribir y ejecutar
6 rw- Leer y escribir
5 r-x Leer y ejecutar
4 r-- Solo lectura
0 --- Sin permisos

🧪 Ejemplo:

chmod 754 archivo.txt
  • 7 → propietario: rwx
  • 5 → grupo: r-x
  • 4 → otros: r--

7. Ejemplo Completo

touch ejemplo.txt                    # Crear archivo
chmod 600 ejemplo.txt               # Solo dueño puede leer y escribir
sudo chown edu ejemplo.txt         # Cambiar propietario
sudo chgrp seguridad ejemplo.txt    # Cambiar grupo

🔧 Práctica Recomendada

  1. Crea un archivo con touch.
  2. Cambia los permisos con chmod 700, chmod 755, etc.
  3. Usa ls -l para verificar los cambios.
  4. Crea un grupo nuevo y cambia el grupo de un archivo con chgrp.
  5. Explora la diferencia entre chmod +x y chmod 755.

💡 Consejo: Usa una carpeta de pruebas para experimentar sin riesgo.

📘 Próximos Pasos

  • Aprende a crear y administrar grupos con addgroup y usermod.
  • Explora permisos especiales: SUID, SGID y sticky bit.
  • Practica con carpetas: chmod 770 carpeta/ y verifica acceso entre usuarios.
  • Consulta man chmod, man chown y man chgrp para más opciones.

🧠 Conclusión

Controlar los permisos en Linux te permite proteger tu sistema, organizar el acceso y evitar errores graves. Comandos como ls, chmod, chown y chgrp son esenciales para cualquier usuario que quiera moverse con confianza en un entorno multiusuario.

La práctica te dará fluidez, y muy pronto modificar permisos será tan natural como navegar carpetas. ¡Sigue explorando y conviértete en maestro del control de acceso en Linux! 🚀🐧