🛡️ Taller Práctico: Permisos en Acción¶
- Permisos en un Entorno Real
En esta sesión práctica aplicarás la teoría de permisos para proteger tus archivos, colaborar en equipo y gestionar espacios compartidos de forma segura en un servidor real.
Comandos Clave de la Sesión
En este taller trabajaremos principalmente con: ls -l, chmod, chgrp, y los permisos especiales (setuid, setgid, sticky bit).
1️⃣ Creando y Asegurando un Espacio Privado¶
Objetivos:
- Crear un directorio y un archivo "secreto" dentro de él.
- Analizar sus permisos por defecto.
- Modificar los permisos para que nadie más que tú pueda acceder a ellos.
- Verificar que las restricciones funcionan.
Comandos que podrías necesitar:
# Crear un directorio para tus cosas privadas
mkdir mi_espacio_secreto
# Entrar al directorio
cd mi_espacio_secreto
# Crear un archivo con contenido confidencial
echo "Este es mi plan para dominar el mundo" > plan_secreto.txt
# Ver los permisos por defecto
ls -l
# Aplicar permisos restrictivos (solo para ti)
chmod 700 plan_secreto.txt
chmod 700 .
# Verificar los permisos del directorio padre para estar seguros
ls -ld ..
Verificando con un compañero
La mejor forma de saber si tus permisos funcionan es pedirle a un compañero que intente leer tu archivo (cat /home/TU_USUARIO/mi_espacio_secreto/plan_secreto.txt). Si recibe "Permission denied", ¡lo has logrado!
2️⃣ Preparando un Directorio para Trabajo en Equipo¶
Objetivos:
- Crear un directorio para un proyecto en equipo.
- Cambiar el grupo del directorio al grupo asignado.
- Asignar permisos para que los miembros de tu grupo puedan leer y escribir, pero los demás no puedan acceder.
Comandos que podrías necesitar:
# Crear el directorio del proyecto
mkdir proyecto_alpha
# Cambiar el grupo del directorio
chgrp equipo_alpha proyecto_alpha
# Asignar permisos: rwx para el dueño, rwx para el grupo, --- para otros
chmod 770 proyecto_alpha
# Verificar el resultado
ls -ld proyecto_alpha
Acción del Docente y Sincronización de Grupo
Para este ejercicio, el docente creará un grupo (ej. equipo_alpha) y añadirá a los miembros. Recuerda: Debes salir y volver a entrar a tu sesión de SSH para que los nuevos permisos de grupo se apliquen. Puedes verificar tus grupos con el comando groups.
3️⃣ Solucionando Problemas de Colaboración con setgid¶
Objetivos:
- Experimentar el problema donde los archivos nuevos en un directorio compartido no heredan el grupo correcto.
- Aplicar el permiso especial
setgidpara solucionar este problema. - Verificar que los nuevos archivos ahora sí heredan el grupo del directorio padre.
Comandos que podrías necesitar:
# Dentro de 'proyecto_alpha', crea un archivo
touch acta_reunion.md
# Fíjate en el grupo del nuevo archivo (será tu grupo personal)
ls -l acta_reunion.md
# Aplicamos el bit 'setgid' al directorio
chmod g+s proyecto_alpha
# Verifica que aparece una 's' en los permisos del grupo
ls -ld proyecto_alpha
# Crea otro archivo para probar
touch nuevo_documento.txt
# ¡Magia! Ahora el grupo es 'equipo_alpha'
ls -l nuevo_documento.txt
El Problema de la Herencia de Grupo
Cuando un compañero crea un archivo en tu directorio compartido, por defecto, el archivo le pertenecerá a su grupo primario, no al grupo del proyecto. Esto impide la colaboración. El setgid en el directorio padre soluciona esto de raíz.
4️⃣ Creando una "Pizarra Pública" Segura con sticky bit¶
Objetivos:
- Trabajar en un directorio público donde todos tienen permisos de escritura.
- Experimentar cómo, sin protección, cualquier usuario puede borrar los archivos de otro.
- Aplicar el
sticky bital directorio para prevenirlo. - Verificar que ahora solo el propietario de un archivo (o
root) puede borrarlo.
Comandos que podrías necesitar:
# El docente creará un directorio /tmp/pizarra_publica con permisos 777
# Pídele a un compañero que cree un archivo dentro de él
touch /tmp/pizarra_publica/archivo_de_mi_compañero.txt
# Intenta borrar su archivo (¡Podrás hacerlo!)
rm /tmp/pizarra_publica/archivo_de_mi_compañero.txt
# Ahora el docente aplicará el sticky bit
chmod +t /tmp/pizarra_publica
# Verifica que aparece una 't' al final de los permisos
ls -ld /tmp/pizarra_publica
# Pídele a tu compañero que cree otro archivo.
# Intenta borrarlo de nuevo. ¡Ahora no podrás!
Peligro en Directorios 777
Un directorio con permisos 777 sin el sticky bit es una receta para el desastre en un entorno compartido. El sticky bit (que se ve como una t en los permisos) es lo que hace que directorios como /tmp sean seguros y funcionales.
¡Taller Completado!
Has aplicado los conceptos de permisos más importantes para la administración y seguridad de un sistema Linux.