1. ¿Qué son los permisos en Linux?
En Linux, los permisos son como las reglas de una biblioteca que controlan quién puede:
- Leer los libros (ver el contenido).
- Escribir en ellos (editar el contenido o agregar notas).
- Ejecutar una máquina en la biblioteca, como una fotocopiadora (hacer que algo «funcione»).
Estos permisos se aplican a archivos y directorios, ya que, en Linux, un archivo puede ser cualquier cosa: un documento, un programa, o incluso una carpeta (que también es un archivo especial).
2. Analizando los permisos básicos: Lectura, Escritura y Ejecución
Lectura (r)
Permitir lectura es como decir: «Puedes abrir un libro y leer lo que hay dentro, pero no puedes modificarlo».
- Para un archivo: Permite ver el contenido. Por ejemplo, puedes abrir un documento de texto para leerlo.
- Para un directorio: Permite listar los nombres de los archivos que contiene (ver qué libros están en la estantería).
Escritura (w)
Permitir escritura es como decir: «Puedes escribir notas en el libro o incluso borrar páginas».
- Para un archivo: Permite modificar su contenido. Por ejemplo, puedes agregar texto a un documento o editarlo.
- Para un directorio: Permite agregar, borrar o renombrar archivos en esa carpeta.
Ejecución (x)
Permitir ejecución es como dar permiso para usar una herramienta o máquina en la biblioteca, como una fotocopiadora. En términos de Linux, significa que puedes «hacer que un archivo se ejecute como un programa».
- Para un archivo: Permite ejecutar un archivo como un programa (solo tiene sentido para archivos que son scripts o programas binarios).
- Para un directorio: Permite «entrar» en el directorio y acceder a su contenido, como abrir una puerta para explorar lo que hay dentro.
3. Cómo se representan los permisos en Linux
En Linux, los permisos se representan usando letras y un formato específico. Por ejemplo:
-rwxr-xr--
Esto puede parecer complicado al principio, pero desglosémoslo paso a paso.
División de los permisos
- El primer carácter: Indica el tipo de archivo.
- – significa que es un archivo normal.
- d significa que es un directorio.
- Otros tipos menos comunes son l para enlaces simbólicos o c para dispositivos.
- Los siguientes 9 caracteres: Están divididos en tres grupos de tres. Cada grupo representa los permisos para un tipo de usuario:
- Propietario (usuario): El dueño del archivo.
- Grupo: Otros usuarios que pertenecen al mismo grupo que el propietario.
- Otros: Todos los demás usuarios del sistema.
Por ejemplo, en -rwxr-xr–:
- rwx (propietario): El dueño puede leer, escribir y ejecutar.
- r-x (grupo): Los miembros del grupo pueden leer y ejecutar, pero no escribir.
- r– (otros): Todos los demás pueden solo leer.
Permisos en formato numérico
Otra manera de representar permisos es mediante números. Cada permiso tiene un valor:
- Lectura (r) = 4
- Escritura (w) = 2
- Ejecución (x) = 1
Se suman estos valores para determinar los permisos de cada grupo. Por ejemplo:
- rwx = 4 (lectura) + 2 (escritura) + 1 (ejecución) = 7
- r-x = 4 (lectura) + 0 (escritura) + 1 (ejecución) = 5
- r– = 4 (lectura) + 0 (escritura) + 0 (ejecución) = 4
Entonces, -rwxr-xr– se puede representar como 754.
4. Cambiar permisos en Linux
En la biblioteca, el bibliotecario puede decidir quién tiene permiso para hacer qué. En Linux, esto se hace con comandos como:
chmod (Change Mode)
Cambia los permisos de un archivo o directorio.
Ejemplo:
chmod 755 archivo.txt
Esto asigna permisos rwx al propietario, y r-x al grupo y otros.
Alternativamente, con letras:
chmod u+x archivo.txt
Esto agrega permiso de ejecución (+x) al propietario (u = user).
chown (Change Ownership)
Cambia el propietario o grupo de un archivo.
chown usuario:grupo archivo.txt
5. Ejemplo práctico
Supongamos que tienes un archivo llamado informe.txt con los permisos iniciales -rw-r–r–:
- El propietario (tú) puede leer y escribir (rw-).
- El grupo puede solo leer (r–).
- Los demás usuarios también pueden solo leer (r–).
Ahora:
Si quieres permitir que solo tú puedas leer y escribir, ejecutas
chmod 600 informe.txt
Resultado: -rw-------
Si quieres permitir que el archivo sea ejecutable como un programa por todos, ejecutas:
chmod 755 informe.txt
Resultado: -rwxr-xr-x
6. Resumen
Los permisos en Linux son un sistema simple pero poderoso para controlar quién puede hacer qué con los archivos y directorios. Los conceptos clave son:
- Lectura (r): Ver contenido.
- Escritura (w): Modificar contenido.
- Ejecución (x): Ejecutar archivos o acceder a directorios.