Skip to content

Objetivos

  • Controlar los permisos de los archivos creados en un directorio mediante la configuración de la máscara de usuario (umask).
  • Configurar el permiso setgid para garantizar que los archivos creados en un directorio compartido pertenezcan automáticamente a un grupo específico.
  • Ajustar los permisos predeterminados para usuarios específicos y verificar los cambios.

Entorno Inicial

  • Usuario: student
  • Máquina: servera
  • Contraseña inicial: student
  • Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.

Pasos del Laboratorio

Prerequisitos

  1. Inicio de sesión

    • Inicia sesión en la máquina servera desde bastion como el usuario student utilizando la llave privada proporcionada:
    ssh student-#-servera
    

Parte 1: Configuración de Permisos Predeterminados con umask

  1. Cambiar a usuario operator1 usando su:

    su - operator1
    
  2. Ejecuta el siguiente comando para ver la configuración actual de umask:

    umask
    
    • Resultado esperado: 0022. Esto significa que los archivos nuevos tendrán permisos rw-r--r-- y los directorios rwxr-xr-x.
  3. Crear un directorio compartido y verificar permisos:

    • Crea el directorio /tmp/shared:
    mkdir /tmp/shared
    
    • Verifica los permisos del directorio:
    ls -ld /tmp/shared
    
    • Resultado esperado: drwxr-xr-x. 2 operator1 operator1 6 Feb 4 14:06 /tmp/shared
  4. Crear un archivo dentro del directorio y verificar permisos

    • Crea un archivo defaults dentro de /tmp/shared:
    touch /tmp/shared/defaults
    
    • Verifica los permisos del archivo:
    ls -l /tmp/shared/defaults
    
    • Resultado esperado: -rw-r--r--. 1 operator1 operator1 0 Feb 4 14:09 /tmp/shared/defaults

Parte 2: Configuración del Permiso setgid en Directorios Compartidos

  1. Cambiar a usuario root usando sudo:

    sudo -i
    
  2. Agrega el grupo operators

    • Agrega operators como un grupo nuevo:
    groupadd operators
    
    • Agrega operator1 a operators como grupo complementario:
    usermod operator1 -aG operators
    
  3. Sal de la shell de root:

    exit
    
  4. Cambiar a usuario operator1 usando su:

    su - operator1
    
  5. Cambiar la propiedad del directorio al grupo operators

    • Modifica la propiedad del directorio /tmp/shared para que pertenezca al grupo operators:
    chown :operators /tmp/shared
    
    • Verifica los permisos del directorio:
    ls -ld /tmp/shared
    
    • Resultado esperado: drwxr-xr-x. 2 operator1 operators 22 Feb 4 14:09 /tmp/shared
  6. Crear un archivo y verificar la propiedad del grupo

    • Crea un archivo group dentro de /tmp/shared:
    touch /tmp/shared/group
    
    • Verifica los permisos del archivo:
    ls -l /tmp/shared/group
    
    • Resultado esperado: -rw-r--r--. 1 operator1 operator1 0 Feb 4 17:00 /tmp/shared/group. Nota: El archivo pertenece al usuario operator1, no al grupo operators.
  7. Configurar setgid en el directorio compartido

    • Establece el ID de grupo (setgid) en /tmp/shared para que los archivos creados en este directorio pertenezcan automáticamente al grupo operators:
    chmod g+s /tmp/shared
    
  8. Crear un archivo y verificar la propiedad del grupo

    • Crea un archivo ops_db.txt dentro de /tmp/shared:
    touch /tmp/shared/ops_db.txt
    
    • Verifica los permisos del archivo:
    ls -l /tmp/shared/ops_db.txt
    
    • Resultado esperado: -rw-r--r--. 1 operator1 operators 0 Feb 4 16:11 /tmp/shared/ops_db.txt

Parte 3: Modificación de umask para Usuarios Específicos

  1. Cambiar el valor de umask para operator1

    • Modifica umask para que los archivos creados tengan permisos más restrictivos:

      umask 027
      

    • Confirma el cambio ejecutando nuevamente umask:

      umask
      

    • Resultado esperado: 0027

  2. Crear un archivo y verificar los permisos

    • Crea un archivo ops_prod.txt dentro de /tmp/shared:
    touch /tmp/shared/ops_prod.txt
    
    • Verifica los permisos del archivo:
    ls -l /tmp/shared/ops_prod.txt
    
    • Resultado esperado: -rw-r-----. 1 operator1 operators 0 Feb 4 15:56 /tmp/shared/ops_prod.txt. Nota: El grupo tiene acceso de solo lectura, y otros usuarios no tienen acceso.
  3. Hacer persistente el cambio de umask

    • Agrega la configuración de umask al archivo ~/.bashrc para que sea permanente:
    echo "umask 007" >> ~/.bashrc
    
    • Verifica la configuración en ~/.bashrc:
    cat ~/.bashrc
    
  4. Cerrar sesión y volver a iniciar

    • Cierra la sesión de operator1:
    exit
    
    • Vuelve a iniciar sesión y verifica que umask se mantiene en 007:
    su - operator1
    
    umask
    
    • Resultado esperado: 0007
  5. Sal de servera y vuelve al bastion:

    exit
    

Resultados Esperados

  • Los archivos creados en /tmp/shared pertenecen automáticamente al grupo operators gracias al permiso setgid.
  • La configuración de umask restringe el acceso a archivos recién creados según los valores establecidos.
  • La modificación de umask es persistente tras el reinicio de sesión.