Saltar al contenido principal

3. Permisos y Propiedades

Propietarios y Grupos

  • Propietario de un archivo:

    • Cada archivo o directorio en un sistema Unix/Linux tiene un propietario, que generalmente es el usuario que lo creó. El propietario tiene control sobre los permisos del archivo.
  • Grupo de un archivo:

    • Además del propietario, cada archivo pertenece a un grupo. Los usuarios que forman parte de este grupo pueden tener permisos especiales sobre el archivo.
  • chown - Cambiar propietario:

    • Cambia el propietario y, opcionalmente, el grupo de un archivo.
    • Ejemplo:
      chown usuario:grupo archivo.txt
  • chgrp - Cambiar grupo:

    • Cambia el grupo de un archivo.
    • Ejemplo:
      chgrp grupo archivo.txt

Permisos de Archivos y Directorios

  • Lectura (r):

    • Permite leer el contenido de un archivo o listar el contenido de un directorio.
  • Escritura (w):

    • Permite modificar el contenido de un archivo o crear, renombrar y eliminar archivos en un directorio.
  • Ejecución (x):

    • Permite ejecutar un archivo como un programa o acceder al contenido de un directorio.
  • ls -l - Listar permisos:

    • Lista los archivos en un directorio con detalles de permisos.
    • Ejemplo:
      ls -l
    • Salida típica:
      -rwxr-xr-- 1 usuario grupo 1234 Jun 18 10:00 archivo.txt
  • chmod - Cambiar permisos:

    • Cambia los permisos de un archivo utilizando modos simbólicos y numéricos.

    • Modo simbólico:

      • Ejemplo:
        chmod u+rwx,g+rx,o+r archivo.txt
      • u: usuario (propietario)
      • g: grupo
      • o: otros
      • +: añade permisos
      • -: quita permisos
      • =: establece permisos exactos
    • Modo numérico:

      • Ejemplo:
        chmod 755 archivo.txt
      • 755 en binario: rwxr-xr-x (propietario: 7= rwx, grupo: 5= r-x, otros: 5= r-x)

Permisos Especiales

  • Setuid (Set User ID):

    • Permite que un archivo ejecutable se ejecute con los permisos del propietario del archivo, no con los permisos del usuario que lo ejecuta.
    • Ejemplo:
      chmod u+s archivo
  • Setgid (Set Group ID):

    • Permite que un archivo ejecutable se ejecute con los permisos del grupo del archivo, no con los permisos del usuario que lo ejecuta.
    • Cuando se aplica a un directorio, los archivos creados dentro del directorio heredan el grupo del directorio.
    • Ejemplo:
      chmod g+s directorio
  • Sticky Bit:

    • Cuando se aplica a un directorio, solo el propietario de un archivo dentro de ese directorio puede renombrar o eliminar el archivo, independientemente de los permisos del directorio.
    • Comúnmente usado en directorios como /tmp.
    • Ejemplo:
      chmod +t directorio

Máscara de Creación de Archivos

  • Umask (User File Creation Mask):

    • Determina los permisos predeterminados que se eliminan cuando se crea un nuevo archivo o directorio.
    • La umask se substrae de los permisos máximos posibles (666 para archivos, 777 para directorios).
    • Ejemplo:
      umask 022
      • Permisos resultantes para archivos: 644 (rw-r--r--)
      • Permisos resultantes para directorios: 755 (rwxr-xr-x)
  • Visualización de Umask:

    • Comando:
      umask
      • Muestra la umask actual en formato octal
  • Modificación de Umask:

    • Comando:
      umask <valor>
    • Ejemplo:
      umask 027
      • Configura la umask para eliminar permisos de escritura y ejecución para otros

Ejercicios de Permisos y Propiedades

Ejercicio 1: Propietarios y Grupos

1.1 Cambio de propietario

  • Cambia el propietario de un archivo llamado archivo.txt a un usuario diferente.

1.2 Cambio de grupo

  • Cambia el grupo de un archivo llamado archivo.txt a un grupo diferente.

Ejercicio 2: Permisos de Archivos y Directorios

2.1 Visualización de permisos

  • Lista los archivos en un directorio con detalles de permisos.

2.2 Modificación de permisos (simbólico)

  • Cambia los permisos de un archivo llamado script.sh para que el propietario tenga permisos de lectura y escritura, el grupo tenga permisos de lectura y los demás no tengan permisos.

2.3 Modificación de permisos (numérico)

  • Cambia los permisos de un archivo llamado data.txt a 755.

Ejercicio 3: Permisos Especiales

3.1 Aplicación de Setuid

  • Aplica el permiso Setuid a un archivo ejecutable llamado programa.

3.2 Aplicación de Setgid

  • Aplica el permiso Setgid a un directorio llamado shared.

3.3 Aplicación de Sticky Bit

  • Aplica el Sticky Bit a un directorio llamado tmp.

Ejercicio 4: Máscara de Creación de Archivos

4.1 Visualización de umask

  • Muestra la configuración actual de umask.

4.2 Modificación de umask

  • Cambia la máscara de creación de archivos a 027.

Ejercicios con soluciones para Permisos y Propiedades

Ejercicio 1: Propietarios y Grupos

1.1 Cambio de propietario

  • Cambia el propietario de un archivo llamado archivo.txt a un usuario diferente.
  • Solución:
    chown nuevo_usuario archivo.txt

1.2 Cambio de grupo

  • Cambia el grupo de un archivo llamado archivo.txt a un grupo diferente.
  • Solución:
    chgrp nuevo_grupo archivo.txt

Ejercicio 2: Permisos de Archivos y Directorios

2.1 Visualización de permisos

  • Lista los archivos en un directorio con detalles de permisos.
  • Solución:
    ls -l

2.2 Modificación de permisos (simbólico)

  • Cambia los permisos de un archivo llamado script.sh para que el propietario tenga permisos de lectura y escritura, el grupo tenga permisos de lectura y los demás no tengan permisos.
  • Solución:
    chmod u+rw,g+r,o-rwx script.sh

2.3 Modificación de permisos (numérico)

  • Cambia los permisos de un archivo llamado data.txt a 755.
  • Solución:
    chmod 755 data.txt

Ejercicio 3: Permisos Especiales

3.1 Aplicación de Setuid

  • Aplica el permiso Setuid a un archivo ejecutable llamado programa.
  • Solución:
    chmod u+s programa

3.2 Aplicación de Setgid

  • Aplica el permiso Setgid a un directorio llamado shared.
  • Solución:
    chmod g+s shared

3.3 Aplicación de Sticky Bit

  • Aplica el Sticky Bit a un directorio llamado tmp.
  • Solución:
    chmod +t tmp

Ejercicio 4: Máscara de Creación de Archivos

4.1 Visualización de umask

  • Muestra la configuración actual de umask.
  • Solución:
    umask

4.2 Modificación de umask

  • Cambia la máscara de creación de archivos a 027.
  • Solución:
    umask 027