Cuando compartes una computadora o un servidor con otras personas, necesitas controlar quién puede leer, modificar o ejecutar cada archivo. Los permisos de archivos en Linux y otros sistemas tipo Unix resuelven exactamente eso: definen qué puede hacer cada usuario sobre cada archivo, y son la base de la seguridad informática que usas todos los días sin darte cuenta.
¿Por qué existen los permisos de archivos en sistemas operativos?
Cada vez que compras un hosting en DigitalOcean o Amazon Web Services, en realidad estás compartiendo un pedacito de un computador con cientos o miles de usuarios. Sin un sistema de permisos, cualquiera podría leer tu nómina, borrar tu código o ejecutar programas en tu nombre.
Imagina un archivo llamado nomina.html dentro de un servidor compartido. Lo lógico es que existan tres niveles de acceso:
El administrador, dueño de la máquina, puede hacer todo.
Un grupo de trabajo, por ejemplo devs, puede leer y escribir.
El público general solo puede leer, sin modificar ni ejecutar.
Esa jerarquía es la que vas a encontrar en cualquier servidor Linux que administres.
¿Qué significan los permisos rwx en Linux y Mac?
En los sistemas tipo Unix, como Linux y Mac, los permisos se representan con tres letras minúsculas que aparecen agrupadas cuando listas archivos en la terminal.
r (read): permiso de lectura, puedes ver el contenido del archivo.
w (write): permiso de escritura, puedes modificarlo o borrarlo.
x (execute): permiso de ejecución, el archivo puede correr como aplicación en la CPU.
Siguiendo el ejemplo anterior, el administrador tendría rwx sobre nomina.html, los devs tendrían rw y el público solo r. Esa combinación es la que define el nivel de privilegio de cada usuario.
¿Qué es el permiso de ejecución en Linux? Es la capacidad de que el contenido de un archivo corra como aplicación en la CPU. Se activa colocando la letra x en sus permisos, sin necesidad de cambiar la extensión.
¿Cómo se cambian los permisos con chmod y chown?
Para modificar quién puede hacer qué sobre un archivo, Linux ofrece comandos específicos en la terminal. El más popular es chmod, abreviatura de change mode, que recibe números que representan combinaciones de rwx. Profundizar en esos números merece un curso de Linux completo, pero la idea base es simple: tú decides qué grupo recibe qué letras.
Cuando lo que quieres es cambiar al dueño del archivo, usas chown. El dueño suele ser el usuario que creó el archivo: si los devs lo crearon, los devs son los dueños, y de ahí depende quién más puede acceder.
En Windows y Mac, este mismo cambio se hace por la interfaz gráfica. Le das clic derecho al archivo, abres sus propiedades o información, y ahí ves los permisos y los puedes editar.
¿Qué hace el comando sudo en Linux?
Hay momentos en que necesitas privilegios de administrador sin cerrar tu sesión actual. Para eso existe sudo.
¿Qué es sudo y cómo se usa? Es un comando que ejecuta otro comando con permisos de administrador. Escribes sudo, espacio y el comando; el sistema te pide la contraseña del administrador y lo ejecuta con esos privilegios.
En Windows el equivalente es darle clic derecho a un archivo y elegir Correr como administrador. La diferencia es que en Windows casi todo ocurre en la interfaz gráfica, mientras que en Linux casi todo pasa por la terminal.
¿Cómo manejan Windows, Mac y móviles los archivos ejecutables?
La forma de marcar un archivo como ejecutable cambia según el sistema operativo, y eso afecta directamente tu seguridad.
En Windows, los ejecutables necesitan la extensión .exe. Al correrlos, el sistema muestra una advertencia preguntando si confías en la aplicación. Algunos desarrolladores le piden a Microsoft una llave especial de cifrado para firmar sus aplicaciones y evitar esa advertencia.
En Mac ocurre algo parecido con Apple cuando descargas apps fuera de la App Store. En cambio, en sistemas móviles como Android e iOS, no hace falta este permiso adicional porque Google y Apple revisan las aplicaciones antes de publicarlas.
En Linux, no necesitas una extensión especial. Un script de Python, que internamente es un archivo de texto, puede volverse ejecutable simplemente activando la x en sus permisos.
¿Cuál es la mejor práctica de seguridad con permisos?
La regla de oro es dar siempre la mínima cantidad de permisos y privilegios necesarios. Entre más permisos tenga un archivo, más problemas de seguridad puede traer.
Si un archivo solo necesita leerse, no le des permisos de escritura. Si nunca debe correrse como aplicación, no le actives la ejecución. Pensar así protege tus servidores y tus equipos del día a día.
¿Ya habías administrado permisos en un servidor compartido? Cuéntame en los comentarios qué comando usas más seguido cuando configuras un nuevo proyecto.
---Sin permisos (ni leer, ni escribir, ni ejecutar)
¡Excelente explicación! Correcta y concisa, ¡me encantó!
Para más detalles de cómo funcionan los permisos de archivos les recomiendo esta página:
Buen resumen
Aprender a usar la línea de comandos es fundamental por varias razones. Primero, permite un control más preciso y eficiente sobre el sistema operativo, especialmente en sistemas Unix/Linux. Segundo, muchas tareas de automatización y programación se realizan más rápidamente en la terminal. Además, es esencial para administrar servidores y trabajar con herramientas de desarrollo, como Git. Por último, te ayuda a comprender mejor cómo funciona el software y a desarrollar habilidades que son muy valoradas en el mercado laboral.
totalmente de acuerdo colega.
¿Qué son los permisos y privilegios?
🛡️ Controlan quién puede acceder, modificar o ejecutar archivos.
🔄 Son esenciales para la seguridad en sistemas compartidos.
🔹 Permisos en sistemas Unix/Linux 🐧
📜 Lectura (r): Ver contenido del archivo.
✍️ Escritura (w): Modificar o eliminar el archivo.
🚀 Ejecución (x): Ejecutar el archivo como programa.
👥 Se asignan a propietario, grupo y otros usuarios.
🔒 sudo: Ejecuta comandos con privilegios de administrador.
🔹 Gestión de permisos en Windows 🏆
🖱️ Se configuran desde la interfaz gráfica (clic derecho → Propiedades → Seguridad).
🛠️ Ejecutables requieren extensión .exe.
🔑 Ejecutar como administrador para permisos elevados.
🔹 Permisos en macOS 🍏
🖱️ Se gestionan desde "Obtener información" → "Compartir y permisos".
🔄 Similar a Linux, pero con interfaz gráfica.
🔹 Importancia de la gestión de permisos 🔍
🚫 Previene modificaciones no autorizadas.
🛡️ Protege contra código malicioso.
🔑 Controla acceso a información sensible.
🤝 Facilita colaboración en entornos compartidos.
💡 Conclusión: Gestionar permisos correctamente es clave para la seguridad y eficiencia en sistemas operativos.
En Android hay tiendas externas a PlayStore que te permiten descargar APKs y estos al <u>no </u>ser evaluados por Google pueden contener o no, codigo malicioso.
Asi que si alguien te manda un APK, no lo ejecutes a menos que realmente confies en esa persona.
Archivos compartidos y permisos
Es común tener archivos guardados en servidores o computadoras que no nos pertenecen, o que compartimos con otras personas. Por ejemplo, cuando contratas un servicio de hosting (como en Amazon Web Services), en realidad estás usando una pequeña parte de una computadora que se comparte con muchas otras personas.
Por eso, es importante tener una forma de controlar:
Quién puede acceder a los archivos
Qué puede hacer cada persona con ellos (leer, modificar, ejecutar)
Qué permisos o privilegios tiene cada usuario
Un ejemplo: archivo nomina.html
Imaginemos que tienes un archivo llamado nomina.html. Queremos que:
El administrador (dueño de la computadora) pueda hacer todo: leer, escribir y ejecutar el archivo.
El grupo de desarrolladores (llamado "devs") pueda leerlo y modificarlo.
El público general solo pueda leerlo, pero no modificarlo ni ejecutarlo.
Permisos en sistemas Unix (Linux, Mac)
En estos sistemas, existen tres tipos de permisos:
r (read): lectura
w (write): escritura
x (execute): ejecución
Cuando ves los permisos de un archivo en la terminal, aparecen combinaciones como rwx que indican lo que se puede hacer con ese archivo.
Por ejemplo:
El administrador tiene rwx → puede hacer todo.
Los desarrolladores tienen rw → pueden leer y escribir.
El público tiene solo r → solo puede leer.
Cómo se asignan los permisos
Para cambiar los permisos en Linux o Unix, se usa el comando chmod (que significa "change mode").
Este comando usa números para representar los permisos. Por ejemplo:
7 = rwx
6 = rw
4 = r
👉 Para aprender bien esto, se recomienda tomar un curso de Linux.
También puedes cambiar los dueños de los archivos con el comando chown.
¿Y en Windows o Mac?
En estos sistemas, los permisos se modifican desde la interfaz gráfica:
Haz clic derecho en el archivo
Selecciona “Información” o “Propiedades”
Cambia los permisos o privilegios desde ahí
Además:
En Windows, los archivos ejecutables suelen tener la extensión .exe.
Puedes hacer clic derecho y elegir “Ejecutar como administrador” (esto es como el comando sudo en Linux).
Los scripts de otros lenguajes, como Python, también pueden volverse ejecutables si se les da el formato adecuado.
El comando sudo en Linux y Mac
Cuando usas sudo seguido de un comando, estás ejecutando ese comando como si fueras el administrador. El sistema te pedirá la contraseña para confirmar.
Esto es útil cuando necesitas hacer tareas que requieren permisos elevados, sin necesidad de entrar como usuario administrador.
Buenas prácticas de seguridad
Siempre da los permisos mínimos necesarios. Cuantos más permisos tiene un archivo, mayor es el riesgo de seguridad.
Revisa quién es el dueño de cada archivo. El dueño es el usuario que lo creó, y eso afecta quién puede acceder o modificar el archivo.
Los permisos son reglas que determinan qué acciones puede realizar un usuario o proceso sobre un recurso, como leer, escribir o ejecutar archivos. Los niveles de procesos indican el grado de acceso que tiene un proceso dentro del sistema operativo; los procesos en modo usuario operan con restricciones y no pueden acceder directamente al hardware, mientras que los procesos en modo kernel tienen control total del sistema y del hardware. Por su parte, los privilegios de ejecución definen qué operaciones especiales puede realizar un usuario o proceso: los usuarios con privilegios elevados, como administradores o root, pueden modificar configuraciones críticas, instalar software y acceder a cualquier archivo, mientras que los usuarios estándar solo pueden ejecutar aplicaciones y realizar tareas básicas. En conjunto, estos conceptos garantizan la seguridad y estabilidad del sistema al controlar quién puede hacer qué y hasta qué nivel dentro del sistema operativo.
Clase 16: Permisos, niveles de procesos y privilegios de ejecución
Introducción: Controlando el Acceso en Entornos Compartidos
En cualquier sistema multiusuario (desde un servidor web hasta una computadora familiar), es fundamental controlar quién puede acceder y modificar los archivos. Los sistemas operativos gestionan esto a través de un robusto sistema de permisos y privilegios, asegurando la integridad y seguridad de los datos.
1. El Modelo de Permisos UNIX (rwx)
La mayoría de los sistemas operativos modernos (incluyendo Linux y macOS) heredan su modelo de permisos de UNIX, que se basa en tres actores y tres acciones.
Los Actores (A quién se aplica el permiso):
Usuario (Owner / Dueño): El creador o propietario del archivo.
Grupo (Group): Un conjunto definido de usuarios que comparten permisos (ej. el equipo de "desarrolladores").
Otros (Public): Cualquier otro usuario en el sistema que no sea el dueño ni pertenezca al grupo.
Las Acciones (Qué se puede hacer):
Lectura (r - read): Permite ver el contenido del archivo.
Escritura (w - write): Permite modificar o borrar el archivo.
Ejecución (x - execute): Permite ejecutar el archivo como un programa.
Cada archivo tiene un conjunto de estos tres permisos (rwx) para cada uno de los tres actores (usuario, grupo y otros).
2. Gestión de Permisos en Diferentes Sistemas Operativos
Aunque el concepto es similar, la forma de administrar estos permisos varía.
Sistemas UNIX-like (Linux/macOS):
La gestión se realiza principalmente a través de la interfaz de línea de comandos (CLI).
El comando principal es chmod (change mode), que permite al dueño de un archivo modificar los permisos de lectura, escritura y ejecución para sí mismo, su grupo y para otros.
Windows:
La gestión es más visual, a través de la interfaz gráfica (GUI) (clic derecho en un archivo → Propiedades → Seguridad).
El permiso de ejecución está fuertemente ligado a la extensión del archivo. Por defecto, solo los archivos con extensiones como .exe, .bat o .msi son considerados ejecutables.
3. Privilegios de Ejecución y el Administrador
No todos los usuarios tienen el mismo poder dentro del sistema.
Administrador (Root / Superusuario): Es el usuario con control total y absoluto sobre el sistema operativo. Puede leer, modificar y borrar cualquier archivo, y realizar cambios críticos en el sistema.
Escalada de Privilegios:
En UNIX-like (Linux/macOS): Un usuario normal puede ejecutar un comando específico con privilegios de administrador anteponiendo la palabra sudo (superuser do). El sistema le pedirá su contraseña para autorizar esa acción puntual.
En Windows: Se utiliza la opción "Ejecutar como administrador", que eleva los privilegios de toda la aplicación durante su sesión de uso.
4. Propiedad de Archivos y el Principio de Mínimo Privilegio
La gestión de permisos es un pilar de la seguridad informática.
Propiedad (Owner): Cada archivo tiene un dueño (el usuario que lo creó). Solo el dueño o el administrador pueden cambiar los permisos del archivo. En sistemas UNIX-like, el comando chown (change owner) permite al administrador reasignar la propiedad de un archivo.
Principio de Mínimo Privilegio: Es una práctica de seguridad fundamental que dicta que a un usuario o programa se le deben otorgar únicamente los permisos estrictamente necesarios para realizar su función, y nada más. Esto minimiza el daño potencial en caso de un error o un ataque de seguridad.
He configurado permisos en Windows, MAC y Linux...con la práctica constante nada es difícil.
¿Qué contiene esta infografía?
🔐 Permisos en sistemas tipo Unix
Lectura (r), Escritura (w), Ejecución (x)
Asignados a: propietario, grupo, y otros
Ejemplo: nomina.html con permisos rwx rw r
🧑💻 Comandos en Linux
chmod 754 nomina.html: cambia permisos
chown nuevodueno nomina.html: cambia propietario
sudo chmod 777 nomina.html: ejecuta como administrador
🖱️ Permisos en Windows y macOS
Windows: clic derecho → propiedades → seguridad
macOS: clic derecho → obtener información → compartir y permisos
🛡️ ¿Por qué es importante?
Seguridad: evita accesos no autorizados
Colaboración: facilita trabajo en equipo
Prevención: protege archivos sensibles y evita errores
📗🤓Mis resúmenes se ven mejor en Notion ->
📘 Clase 16 — Permisos, niveles de procesos y privilegios de ejecución
1️⃣ Introducción 🧩
La gestión de permisos y privilegios es un pilar fundamental de la seguridad en los sistemas operativos modernos. En entornos donde los recursos son compartidos —como servidores, sistemas multiusuario o infraestructuras en la nube— resulta indispensable definir quién puede acceder a un archivo, qué operaciones puede realizar y bajo qué nivel de privilegio.
Esta clase explica cómo los sistemas operativos, especialmente los basados en Unix, controlan el acceso a archivos y la ejecución de programas, y compara estos mecanismos con los utilizados en Windows y macOS. Comprender estos conceptos permite reducir riesgos de seguridad, evitar errores críticos y administrar sistemas de forma responsable.
2️⃣ Archivos compartidos y necesidad de permisos 🔐
En la práctica, rara vez trabajamos en computadoras completamente privadas.
Cuando usamos servicios como hosting o servidores en la nube, en realidad compartimos una misma máquina física con muchos otros usuarios.
Esto obliga al sistema operativo a responder preguntas clave:
¿Quién puede acceder a un archivo?
¿Puede solo leerlo o también modificarlo?
¿Está permitido ejecutarlo como programa?
¿Quién es el dueño del archivo y quién puede cambiar sus permisos?
Sin un sistema de permisos, cualquier usuario podría modificar, borrar o ejecutar archivos críticos, comprometiendo todo el sistema.
3️⃣ Modelo de permisos en sistemas tipo Unix 🐧🍏
Los sistemas basados en Unix (Linux y macOS) utilizan un modelo de permisos simple pero muy potente.
3.1 Tipos de permisos
Cada archivo puede tener tres permisos básicos:
r (read) → Permite leer el contenido del archivo.
w (write) → Permite modificar o eliminar el archivo.
x (execute) → Permite ejecutar el archivo como programa.
El permiso de ejecución es especialmente importante: define si el contenido del archivo puede ser interpretado por la CPU como código ejecutable.
3.2 Categorías de usuarios
Los permisos se asignan siempre a tres niveles:
Propietario (owner)
Usuario que creó el archivo.
Grupo (group)
Conjunto de usuarios asociados al archivo.
Otros (others / público)
Todos los demás usuarios del sistema.
3.3 Ejemplo práctico: nomina.html
Supongamos un archivo compartido en un servidor:
Administrador (owner) → rwx
Puede leer, modificar y ejecutar.
Grupo devs (group) → rw-
Puede leer y escribir, pero no ejecutar.
Público (others) → r--
Solo puede leer.
Esta configuración evita que usuarios no autorizados modifiquen o ejecuten código en el servidor.
4️⃣ Modificación de permisos en Linux ⚙️
4.1 Comando chmod
El comando chmod (change mode) permite modificar permisos desde la terminal.
Ejemplo:
chmod 754 nomina.html
Los números representan combinaciones de r, w y x para cada categoría de usuario.
Aunque el detalle numérico se estudia a fondo en Linux, lo importante aquí es entender que el administrador define explícitamente qué puede hacer cada grupo.
4.2 Comando chown
El dueño de un archivo puede cambiarse con:
chown usuario nomina.html
El propietario del archivo es clave, ya que de él dependen muchas decisiones de acceso y modificación.
5️⃣ Privilegios de administrador y sudo 🛡️
En sistemas Unix no es necesario iniciar sesión como administrador para realizar tareas críticas.
El comando:
sudo comando
permite ejecutar una instrucción con privilegios de administrador, tras validar la contraseña correspondiente.
Esto tiene dos ventajas claras:
Reduce el uso permanente del usuario administrador.
Limita el impacto de errores accidentales.
Sin embargo, sudo es una herramienta poderosa y debe usarse con precaución.
6️⃣ Permisos y ejecución en Windows 🪟
Windows maneja los permisos principalmente desde la interfaz gráfica:
Clic derecho sobre el archivo.
Propiedades.
Pestaña Seguridad.
Asignación de permisos por usuario o grupo.
Particularidades importantes:
Los archivos ejecutables suelen tener extensión .exe.
Para ejecutar con privilegios elevados se usa “Ejecutar como administrador”, equivalente conceptual a sudo.
Windows prioriza la experiencia gráfica frente a la gestión por terminal.
7️⃣ Permisos en macOS 🍎
macOS comparte la base Unix de Linux, pero combina terminal e interfaz gráfica.
Desde la interfaz:
Clic derecho.
Obtener información.
Sección Compartir y permisos.
Internamente, macOS utiliza el mismo modelo de propietario, grupo y permisos rwx, aunque el usuario final no siempre lo perciba.
Linux / macOS:
Un archivo de texto (por ejemplo, un script en Python) puede ser ejecutable si tiene permiso x y el formato interno adecuado.
Este concepto se conecta directamente con el funcionamiento interno de los archivos, tema que se profundiza en la siguiente clase.
9️⃣ Buenas prácticas de seguridad 🔍
Aplicar siempre el principio del mínimo privilegio.
Dar solo los permisos estrictamente necesarios.
Revisar quién es el dueño real de cada archivo.
Evitar permisos excesivos como 777, salvo casos muy controlados.
Separar claramente roles: administrador, desarrolladores y usuarios finales.
Una mala configuración de permisos es una de las causas más comunes de incidentes de seguridad.
🔟 Idea esencial de la clase 🎯
Los permisos y privilegios determinan el nivel de control y seguridad de un sistema operativo. En entornos compartidos, estos mecanismos evitan accesos indebidos, ejecuciones no autorizadas y errores críticos.
Linux y macOS implementan un modelo claro basado en permisos rwx, usuarios y grupos, mientras que Windows abstrae estos conceptos mediante su interfaz gráfica.
Dominar la gestión de permisos no es opcional para un profesional técnico: es una habilidad básica para administrar sistemas seguros, estables y confiables.
Creo que saliendo de acá voy a ir a tomar el curso de linea de comandos y Linux. Ya es hora
En linux, cuando agregas el permiso x a una dirección que comunmente conocemos como carpeta te permitirá entrar en dicha carpeta, aunque no puedas leer o modificar su contenido.
Soy diseñador Ux hace 10 años y estoy tomando este curso, les dejo algo de mi conversacion con Ai para entender esto un poco mas a profundidad pero de manera resumida.
Permisos R, W, X – Fundamentos
R (Read): Permite leer el contenido de un archivo o listar un directorio.
W (Write): Permite modificar o eliminar el archivo/directorio.
X (Execute): Permite ejecutar el archivo como un programa o script.
Niveles de aplicación de permisos
Usuario (Owner): El dueño del archivo.
Grupo (Group): Un grupo al que pertenece el archivo.
Otros (Others): Cualquier otro usuario del sistema.
Contextos donde se usan
Sistemas operativos tipo Unix (Linux, macOS).
Administración de servidores y DevOps.
Configuración de scripts, binarios y archivos sensibles.
Manejo de seguridad en proyectos de backend o automatización.
(1/5) Servicios de Hosting 👥 🖥️
Permiten almacenar nuestras apliaciones de forma remota 💻. Similar como en tu computadora, todo archivo posee permisos de acceso y ejecución
(2/5) Permisos (r, w, x) 📖 📝🏃🏻
Lectura → Ver contenido, se usa la letra r
Escritura → Modificar o eliminar contenido, se usa la letra w
Ejecución → Ejecutar achivo en la CPU, se usa la letra x
(3/5) Ejecución de archivos 🧾🏊🏻♀️
Cada OS maneja la ejecución de archivos de forma diferente
Windows / MacOs → Basta con cambiar la extension del archivo a .exe. Generalemente el sistema te sacará una advertencia
Android / iPhone → Las aplicaciones son revisadas antes de publicacion en la playstore o appstore
Linux → Es necesario agregar este permiso con chmod y especificando el permiso (r,w ó x)
(4/5) Comandos importantes 💡
chmod. Cambia los permisos de un archivo, por ejemplo chmod +x archivo.sh
sudo. Permite ejecutar comandos con privilegios de administrador. Por ejemplo sudo pip install requirements.txt
(5/5) Principio de mínimo privilegio 🛡️
Cada archivo tiene los permisos necesarios para hacer sus tareas. Entre mas permisos, mas riesgo de seguridad
Comprender cómo funcionan los permisos, privilegios y niveles de acceso en distintos sistemas operativos es esencial para cualquier persona que trabaje con tecnología. Ya sea que uses Windows, Linux o macOS.
Aprender a usar la terminal ofrece velocidad, control y automatización