Permisos de Linux simplificados en la práctica
El artículo explica cómo los usuarios, grupos y comandos chmod, chown y chgrp interactúan para controlar el acceso a archivos y directorios en sistemas Linux.

En un sistema Linux, cada proceso pertenece a un UID y un GID. Los usuarios normales, root y los pseudo‑usuarios de servicios se diferencian por estos identificadores. Los grupos, con sus propios GID, son el núcleo de la política de permisos del kernel.
Cuando un archivo se crea, el creador se convierte en propietario y su grupo primario se asigna como grupo propietario. Este vínculo es la única relación establecida; el propietario no necesita ser miembro del grupo propietario. Cada entidad de Linux es un archivo, por lo que los permisos se aplican a ficheros, directorios, dispositivos y más.
Los permisos se dividen en tres categorías: propietario (u), grupo (g) y otros (o). Cada categoría dispone de tres bits: lectura (r = 4), escritura (w = 2) y ejecución (x = 1). La suma de estos bits da el valor octal: por ejemplo, rwx = 7, rw- = 5, y una combinación típica de 755.
Comandos clave
chmod – Cambia los bits de permiso. El propietario y root pueden modificar cualquier archivo:
chmod 754 file– Asigna 754 directamente.chmod u+rx file– Añade lectura y ejecución al propietario, manteniendo el bit de escritura.chmod u+r-x file– Añade lectura y elimina ejecución.chmod g-w,o+r file– Modifica los bits del grupo y otros.chmod -R 754 dir– Cambia recursivamente.
chown – Cambia propietario y/o grupo. Solo root o el propietario con permiso de grupo puede hacerlo:
chown human file– Cambia propietario.chown human:sapiens file– Cambia propietario y grupo.
chgrp – Cambia solo el grupo propietario. El ejecutor debe ser miembro del nuevo grupo:
chgrp sapiens file.
Root tiene privilegios máximos y puede ejecutar cualquier comando, incluso sobre archivos con permiso 000. Root puede añadir ejecución con chmod +x para activarse.
El artículo menciona que los valores especiales SUID y SGID se tratarán en una publicación futura.
El conocimiento de estos conceptos es esencial para ajustar la seguridad de un entorno Linux, ya sea al desarrollar scripts, administrar servidores o asegurar contenedores.


