Administración de permisos de archivos y directorios en Linux

CompTIABeginner
Practicar Ahora

Introducción

En esta práctica de laboratorio, adquirirás las habilidades fundamentales para administrar permisos de archivos y directorios en un entorno Linux. Comenzarás configurando un espacio de trabajo dedicado, creando un nuevo directorio y un archivo de muestra que servirá como base para los ejercicios. Este enfoque práctico te permitirá practicar el control de acceso a los datos utilizando herramientas esenciales de la línea de comandos.

A lo largo de la práctica, utilizarás el comando chown para cambiar la propiedad de los archivos y el comando chmod para modificar los permisos de lectura, escritura y ejecución para diferentes usuarios y grupos. Aplicarás estos conceptos primero a un archivo individual y luego aprenderás cómo estos permisos afectan de manera única al acceso a los directorios. Al finalizar, serás capaz de proteger archivos de manera efectiva y gestionar el acceso de los usuarios en un sistema Linux.

Esta es una práctica guiada que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

Preparar el espacio de trabajo y crear un archivo

En este paso, comenzarás configurando un espacio de trabajo dedicado para esta práctica. Organizar archivos en directorios específicos es una práctica fundamental en Linux para mantener un sistema de archivos limpio y manejable. Crearás un directorio y luego un nuevo archivo dentro de él, que servirá como objeto para los ejercicios de gestión de permisos en los siguientes pasos.

Primero, vamos a crear un nuevo directorio llamado RandD (para Investigación y Diseño, del inglés Research and Design) dentro de tu directorio de trabajo actual, ~/project. El comando mkdir se utiliza para crear nuevos directorios.

Ejecuta el siguiente comando en tu terminal:

mkdir RandD

A continuación, entra en el directorio RandD recién creado. El comando cd (cambiar directorio) te permite desplazarte entre los directorios del sistema de archivos.

cd RandD

El indicador de tu terminal ahora debería reflejar que te encuentras dentro del directorio ~/project/RandD.

Ahora, vamos a crear un archivo vacío que representará un documento de diseño. El comando touch es una forma sencilla de crear un archivo nuevo y vacío. Si el archivo ya existe, touch actualiza su marca de tiempo de modificación sin cambiar su contenido.

Crea un nuevo archivo llamado design_doc.odt:

touch design_doc.odt

Para confirmar que el archivo ha sido creado e inspeccionar sus propiedades predeterminadas, utiliza el comando ls -l. Este comando enumera el contenido del directorio actual en formato largo, proporcionando información detallada como permisos, propietario, grupo, tamaño y fecha de modificación.

ls -l

Deberías ver una salida similar a la siguiente. Observa que, de forma predeterminada, el nuevo archivo pertenece a tu cuenta de usuario (labex) y a tu grupo primario (labex). La cadena de permisos -rw-rw-r-- se explicará en detalle en los próximos pasos.

total 0
-rw-rw-r-- 1 labex labex 0 Jun 26 10:36 design_doc.odt

Has preparado con éxito el espacio de trabajo y creado el archivo de destino para esta práctica. En los siguientes pasos, aprenderás cómo modificar su propiedad y sus permisos.

Cambiar la propiedad del archivo con el comando chown

En este paso, aprenderás cómo cambiar el propietario de un archivo. En Linux, a cada archivo y directorio se le asigna un propietario (un usuario específico) y un grupo. Esta propiedad es la piedra angular del modelo de seguridad de Linux, ya que ayuda a determinar quién tiene derecho a leer, escribir y ejecutar archivos. El comando utilizado para cambiar la propiedad es chown.

Nuestro escenario requiere que el archivo design_doc.odt sea gestionado por un nuevo usuario, student1, y un nuevo grupo colaborativo, research. Dado que este usuario y grupo aún no existen, primero debes crearlos.

Asegúrate de seguir en el directorio ~/project/RandD. Si no es así, utiliza el comando cd ~/project/RandD para navegar hasta allí.

Primero, crea el grupo research utilizando el comando groupadd. Esta es una operación a nivel de sistema que requiere privilegios administrativos, por lo que debes usar sudo.

sudo groupadd research

A continuación, crea el usuario student1 con el comando useradd. La opción -m se utiliza para crear un directorio personal (home) para el nuevo usuario, lo cual es una práctica estándar. Esto también requiere sudo.

sudo useradd -m student1

Ahora que el usuario student1 y el grupo research existen, puedes cambiar la propiedad del archivo design_doc.odt. La sintaxis para chown es chown usuario:grupo nombre_del_archivo. Necesitas sudo para ejecutar este comando porque estás asignando el archivo a otro usuario.

sudo chown student1:research design_doc.odt

Para verificar que la propiedad se ha actualizado, utiliza de nuevo el comando ls -l.

ls -l

La salida mostrará ahora a student1 como el usuario propietario y a research como el grupo propietario.

total 0
-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Compara esto con la salida anterior. La tercera y cuarta columna han cambiado de labex labex a student1 research, confirmando que tu comando fue exitoso. Has transferido correctamente la propiedad del documento de diseño.

Modificar los permisos de archivos con el comando chmod

En este paso, aprenderás a controlar quién puede leer, escribir o ejecutar un archivo utilizando el comando chmod (cambiar modo). Los permisos de archivos son un aspecto fundamental del modelo de seguridad de Linux. Practicarás la eliminación de permisos para "otros" para que el documento sea más seguro.

Primero, asegúrate de estar en el directorio ~/project/RandD. Vamos a examinar de nuevo los permisos actuales de design_doc.odt con ls -l.

ls -l
-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

La cadena -rw-rw-r-- representa los permisos del archivo. Se divide en tres conjuntos de tres caracteres para el usuario (propietario), el grupo y otros (todos los demás).

  • rw-: El propietario, student1, tiene permisos de lectura (read) y escritura (write).
  • rw-: El grupo, research, ya tiene permisos de lectura (read) y escritura (write).
  • r--: Otros solo tienen permiso de lectura (read).

Como puedes ver, el grupo research ya tiene acceso de escritura a este documento, lo que permite la colaboración. Sin embargo, para garantizar que el documento siga siendo confidencial, debes eliminar todos los permisos para "otros". Puedes lograr esto usando chmod con notación octal (numérica), que es un método común y eficiente.

Verifiquemos los permisos actuales una vez más:

ls -l

La salida confirma los permisos actuales:

-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Ahora, para asegurar la confidencialidad del documento, eliminaremos todos los permisos para "otros".

Así es como funcionan los permisos octales:

  • r (lectura) = 4
  • w (escritura) = 2
  • x (ejecución) = 1

Se suman los números para obtener los permisos deseados en cada categoría (usuario, grupo, otros).

  • Usuario: lectura (4) + escritura (2) = 6
  • Grupo: lectura (4) + escritura (2) = 6
  • Otros: sin permisos = 0

El código de permiso resultante es 660. Vamos a aplicarlo.

sudo chmod 660 design_doc.odt

Finalmente, verifica los permisos por última vez.

ls -l

La salida confirma que "otros" ahora no tienen permisos (---), protegiendo el documento.

-rw-rw---- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Has modificado con éxito los permisos del archivo para permitir la colaboración grupal y restringir el acceso a terceros.

Controlar los permisos de acceso a directorios

En este paso final, asegurarás todo el directorio RandD. Al igual que los archivos, los directorios tienen permisos que controlan el acceso. Sin embargo, el significado de los permisos de lectura, escritura y ejecución es diferente para los directorios.

  • r (lectura): Permite a un usuario listar el contenido del directorio (es decir, ver los nombres de los archivos y subdirectorios que contiene).
  • w (escritura): Permite a un usuario crear, eliminar y renombrar archivos dentro del directorio. Este permiso es muy potente, ya que permite modificar el contenido del directorio independientemente de los permisos de los archivos en sí.
  • x (ejecución): Permite a un usuario entrar en el directorio (por ejemplo, usando cd) y acceder a los archivos o subdirectorios que contiene. Sin el permiso de ejecución, no puedes acceder a ningún elemento dentro del directorio, incluso si tienes permiso de lectura.

Primero, sube al directorio padre, ~/project, para poder operar sobre el propio directorio RandD.

cd ..

Ahora, inspeccionemos la propiedad y los permisos actuales del directorio RandD utilizando el comando ls -ld. La opción -d es crucial aquí; le indica a ls que muestre información sobre el directorio en sí, no sobre su contenido.

ls -ld RandD

La salida inicial se verá algo así:

drwxrwxr-x 2 labex labex 28 Jun 26 10:36 RandD

Esto muestra que el propietario (labex) tiene acceso total (rwx), el grupo (labex) también tiene acceso total (rwx) y otros solo pueden leer y entrar al directorio (r-x). Para convertir esto en una carpeta colaborativa adecuada para el equipo de research, primero debes cambiar la propiedad de grupo del directorio a research.

sudo chown :research RandD

A continuación, establecerás los permisos para dar tanto al propietario (labex) como al grupo (research) control total, eliminando por completo el acceso a otros. El permiso deseado es rwxrwx---, que se traduce al código octal 770. Como eres el propietario del directorio, puedes cambiar sus permisos sin usar sudo.

chmod 770 RandD

Finalmente, verifiquemos los cambios.

ls -ld RandD

La salida ahora debería reflejar la nueva propiedad y permisos, asegurando el directorio para tu equipo.

drwxrwx--- 2 labex research 28 Jun 26 10:36 RandD

Tanto el usuario labex como cualquier miembro del grupo research tienen ahora permisos completos de lectura, escritura y ejecución en el directorio RandD, mientras que todos los demás usuarios no tienen acceso. Has configurado con éxito un espacio colaborativo seguro.

Resumen

En esta práctica de laboratorio, aprendiste los pasos fundamentales para preparar un espacio de trabajo en un entorno Linux. Esto incluyó la creación de un nuevo directorio con el comando mkdir, la navegación por el sistema con cd y la creación de un archivo vacío con touch. También practicaste el uso del comando ls -l para inspeccionar las propiedades detalladas del archivo recién creado, observando su propietario, grupo y configuración de permisos predeterminados, lo que sentó las bases para las tareas de gestión posteriores.

Partiendo de esta base, exploraste los conceptos centrales de la seguridad del sistema de archivos de Linux. La práctica demostró cómo cambiar la propiedad de un archivo utilizando el comando chown, transfiriendo el control a un usuario o grupo diferente. Luego aprendiste a modificar los permisos de lectura, escritura y ejecución para el propietario, el grupo y otros utilizando el comando chmod. Finalmente, la práctica cubrió cómo aplicar estos conceptos de permisos específicamente a los directorios para controlar el acceso a los archivos contenidos en ellos.