Introducción

En este tema, aprenderás sobre los permisos y la propiedad de archivos en sistemas Unix y Linux. Estos conceptos son fundamentales para la seguridad y la gestión de archivos en tu sistema. Entender cómo funcionan los permisos y la propiedad te permitirá controlar quién puede leer, escribir o ejecutar archivos y directorios.

Conceptos Clave

Propiedad de Archivos

Cada archivo y directorio en un sistema Unix/Linux tiene un propietario y un grupo asociado. La propiedad se divide en dos categorías:

  1. Propietario (Owner): El usuario que creó el archivo o directorio.
  2. Grupo (Group): Un conjunto de usuarios que tienen permisos específicos sobre el archivo o directorio.

Permisos de Archivos

Los permisos de archivos determinan qué acciones pueden realizar los usuarios sobre un archivo o directorio. Hay tres tipos de permisos:

  1. Lectura (Read - r): Permite ver el contenido del archivo o listar el contenido del directorio.
  2. Escritura (Write - w): Permite modificar el contenido del archivo o hacer cambios en el directorio (crear, eliminar archivos).
  3. Ejecución (Execute - x): Permite ejecutar el archivo como un programa o acceder al directorio.

Representación de Permisos

Los permisos se representan mediante una combinación de letras y números. Por ejemplo, rwxr-xr-- o 755. Aquí está la descomposición:

  • rwxr-xr--:

    • rwx: Permisos del propietario (read, write, execute).
    • r-x: Permisos del grupo (read, execute).
    • r--: Permisos de otros (read).
  • 755:

    • 7: Permisos del propietario (4+2+1 = read + write + execute).
    • 5: Permisos del grupo (4+1 = read + execute).
    • 5: Permisos de otros (4+1 = read + execute).

Comandos Básicos

ls -l

El comando ls -l muestra una lista detallada de archivos y directorios, incluyendo sus permisos, propietario y grupo.

$ ls -l
total 8
-rw-r--r-- 1 user group  0 Jan  1 12:00 file1
drwxr-xr-x 2 user group 64 Jan  1 12:00 dir1

chmod

El comando chmod se utiliza para cambiar los permisos de archivos y directorios.

  • Sintaxis: chmod [opciones] modo archivo
# Dar permisos de lectura, escritura y ejecución al propietario, y solo lectura a grupo y otros
$ chmod 744 file1

# Dar permisos de lectura y ejecución a todos
$ chmod 755 dir1

chown

El comando chown cambia el propietario y el grupo de un archivo o directorio.

  • Sintaxis: chown [opciones] propietario[:grupo] archivo
# Cambiar el propietario a 'newuser'
$ chown newuser file1

# Cambiar el propietario a 'newuser' y el grupo a 'newgroup'
$ chown newuser:newgroup file1

chgrp

El comando chgrp cambia el grupo de un archivo o directorio.

  • Sintaxis: chgrp [opciones] grupo archivo
# Cambiar el grupo a 'newgroup'
$ chgrp newgroup file1

Ejemplos Prácticos

Ejemplo 1: Cambiar Permisos de un Archivo

# Crear un archivo de ejemplo
$ touch example.txt

# Ver los permisos actuales
$ ls -l example.txt
-rw-r--r-- 1 user group 0 Jan  1 12:00 example.txt

# Cambiar permisos para que el propietario tenga todos los permisos, el grupo tenga lectura y ejecución, y otros solo lectura
$ chmod 754 example.txt

# Verificar los cambios
$ ls -l example.txt
-rwxr-xr-- 1 user group 0 Jan  1 12:00 example.txt

Ejemplo 2: Cambiar Propietario y Grupo de un Archivo

# Crear un archivo de ejemplo
$ touch example.txt

# Ver los permisos actuales
$ ls -l example.txt
-rw-r--r-- 1 user group 0 Jan  1 12:00 example.txt

# Cambiar el propietario a 'newuser' y el grupo a 'newgroup'
$ sudo chown newuser:newgroup example.txt

# Verificar los cambios
$ ls -l example.txt
-rw-r--r-- 1 newuser newgroup 0 Jan  1 12:00 example.txt

Ejercicios Prácticos

Ejercicio 1: Cambiar Permisos

  1. Crea un archivo llamado testfile.txt.
  2. Cambia los permisos para que solo el propietario pueda leer y escribir, el grupo solo pueda leer, y otros no tengan permisos.
  3. Verifica los permisos.

Solución:

$ touch testfile.txt
$ chmod 640 testfile.txt
$ ls -l testfile.txt
-rw-r----- 1 user group 0 Jan  1 12:00 testfile.txt

Ejercicio 2: Cambiar Propietario y Grupo

  1. Crea un archivo llamado myfile.txt.
  2. Cambia el propietario a user2 y el grupo a group2.
  3. Verifica los cambios.

Solución:

$ touch myfile.txt
$ sudo chown user2:group2 myfile.txt
$ ls -l myfile.txt
-rw-r--r-- 1 user2 group2 0 Jan  1 12:00 myfile.txt

Conclusión

En esta sección, has aprendido sobre los permisos y la propiedad de archivos en sistemas Unix/Linux. Ahora sabes cómo ver, cambiar y gestionar los permisos y la propiedad de archivos y directorios. Estos conocimientos son esenciales para mantener la seguridad y el control en tu sistema. En el próximo tema, exploraremos la redirección y las tuberías en Bash.

© Copyright 2024. Todos los derechos reservados