En la Parte 2 exploré el sistema de ficheros de Linux y los registros del sistema. Muy pronto me topé con otro obstáculo clásico: Permission denied. Si has trabajado en Linux seguro que has visto esas palabras. Al principio pensé que era un error al teclear, pero al profundizar descubrí que son uno de los controles más importantes en Linux: permisos y propiedad. Poco después encontré otra capa de control que protege los sistemas: los gestores de paquetes.

Usuarios, grupos y permisos Los conceptos básicos son simples pero fundamentales. Usuario propietario es la cuenta que crea o posee el fichero. Grupo es un conjunto de usuarios con permisos compartidos. Permisos definen quién puede leer r escribir w y ejecutar x un fichero o directorio. Ejemplo de salida de ls -l: -rwxrw-r-- 1 sheersh devops 0 Sep 9 12:00 demo.txt. Desglose: sheersh propietario, devops grupo, rwx permisos del propietario, rw- permisos del grupo, r-- permisos de otros. Esto corresponde a 764 en formato octal.

Tarea práctica Me pidieron crear el fichero /home/demo.txt y asignar permisos de modo que: propietario lectura escritura ejecución, grupo lectura escritura, otros solo lectura. Pasos realizados: crear el fichero, cambiar permisos con chmod a los valores requeridos y verificar con ls -l. Resultado: correcto, el fichero tiene los permisos solicitados.

Propiedad en acción Los permisos solo importan si el fichero tiene el propietario correcto. La propiedad decide quién puede aplicar esos permisos. Comandos clave: ls -l muestra propiedad usuario y grupo, chown newuser:newgroup file.txt cambia propietario y grupo, chgrp groupname file.txt cambia solo el grupo. En entornos DevOps muchos ficheros se crean como root pero deben ser usados por usuarios de aplicación o por pipelines CI CD, así que ajustar la propiedad es crítico.

Historia real de resolución de problemas Escenario: desplegamos un script para rotar logs en /var/log/app/. En desarrollo funcionaba, pero en staging los desarrolladores recibían bash: ./logrotate.sh: Permission denied. Al investigar vi ls -l logrotate.sh y la salida era -rwxrwxr-- 1 root root 120 Sep 9 10:00 logrotate.sh. El fichero pertenecía a root root. Los desarrolladores estaban en el grupo dev, pero la propiedad impedía que actuaran. Aunque los permisos parecían correctos, la propiedad estaba mal. Solución: sudo chown dev:dev logrotate.sh. Tras el cambio el fichero quedó -rwxrwxr-- 1 dev dev 120 Sep 9 10:00 logrotate.sh y al probar con su - dev ./logrotate.sh el script se ejecutó correctamente. Lección: los permisos controlan qué se puede hacer, la propiedad controla quién puede hacerlo.

Gestores de paquetes Una capa más amplia de control es la gestión de software. Los gestores de paquetes se encargan de instalar, actualizar y resolver dependencias. Ejemplos comunes: APT usado en Ubuntu y Debian con comandos como sudo apt update y sudo apt install nginx; YUM DNF en CentOS Fedora RHEL con sudo dnf install nginx; Zypper en openSUSE con sudo zypper install nginx; Pacman en Arch Linux con sudo pacman -S nginx. Solo usuarios con privilegios sudo o root pueden instalar o actualizar paquetes, lo que evita que usuarios sin control rompan el sistema. En DevOps los gestores de paquetes suelen automatizarse con Ansible Puppet Dockerfiles o pipelines CI CD, pero el requisito de privilegios sigue siendo el mismo.

Ejemplo de problema real: intenté instalar nginx como usuario normal con apt install nginx y obtuve E: Could not open lock file /var/lib/dpkg/lock-frontend - Permission denied. La solución fue ejecutar con sudo: sudo apt install nginx. Instalar software modifica rutas del sistema como /usr/bin y /etc por eso Linux requiere privilegios elevados.

Conclusiones clave Usuarios grupos y permisos protegen ficheros. La propiedad decide quién controla esos ficheros. Los gestores de paquetes controlan la instalación de software y solo los usuarios privilegiados o pipelines automatizados pueden usarlos. Gran parte de la resolución de problemas real se reduce a una mezcla de permisos propiedad y acceso a gestores de paquetes.

Sobre Q2BSTUDIO En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, además de ofrecer servicios de inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Ayudamos a empresas a desplegar soluciones seguras y escalables, desde integración de agentes IA y ia para empresas hasta proyectos de servicios inteligencia de negocio y power bi. Si necesitas desarrollar una aplicación personalizada, contamos con experiencia y procesos maduros para entregarla, visita nuestra página de software a medida. Para migraciones o infraestructuras gestionadas en la nube ofrecemos consultoría y despliegue en servicios cloud aws y azure.

Qué sigue en la Parte 4 Ahora que cubrí permisos propiedad y gestores de paquetes, en la siguiente entrega exploraré tareas diarias de un administrador Linux: archivado y compresión con tar gzip zip, automatización con cronjobs, fundamentos de seguridad y administración, acceso remoto con SSH y SCP, creación de máquinas virtuales y generación de pares de claves SSH para acceso sin contraseña. Es el punto donde Linux se convierte en un verdadero laboratorio DevOps.

Y a ti, te ha pasado alguna vez un Permission denied al instalar software o ejecutar un script? Fue por permisos propiedad o por no usar sudo Cuéntalo y aprendamos juntos.