¿Alguna vez te has encontrado enredado en el desconcertante mundo de los permisos de Linux? Si aún te preguntas quién puede leer, escribir o ejecutar qué, bueno, estás en el lugar correcto. ¡Desmitifica el intrincado arte de los permisos de Linux, enfocándote específicamente en el dúo poderoso: chmod
y chown
!
En este tutorial, te equiparás con las habilidades para controlar el acceso a tus archivos y directorios con confianza.
Ahora, ¡remángate y conquista los permisos de Linux como un campeón!
Prerrequisitos
Antes de embarcarte en esta inmersión profunda en los permisos de Linux, asegúrate de tener una Máquina Linux para dominar los comandos chmod
y chown
. Este tutorial utiliza Ubuntu 22.04 LTS (Jammy Jellyfish).
Comprendiendo los Comandos chmod
y chown
En el ámbito de los permisos de Linux, los comandos chmod
y chown
ejercen un poder significativo. Comprender cómo usar estos comandos de manera efectiva es crucial para cualquier usuario de Linux, desde principiantes hasta administradores experimentados.
Ambos comandos ofrecen muchas formas de controlar tu sistema Linux, pero a continuación se presentan los conceptos básicos de lo que cada uno es capaz de hacer:
chmod
– Este comando es la clave para administrar los permisos de archivos y directorios en Linux, lo que te permite especificar quién puede leer, escribir y ejecutar un archivo. Al emplear una combinación de símbolos y códigos numéricos, puedes otorgar o restringir el acceso a usuarios, grupos y otros.chown
– Con este comando, puedes cambiar la propiedad de archivos y directorios. Este comando es invaluable cuando necesitas transferir el control administrativo o alterar la asociación entre un archivo y un usuario/grupo.
Ya sea para proteger datos sensibles o agilizar el acceso para un equipo, estos comandos son tus fieles compañeros en el mundo de las operaciones de archivos en Linux.
Sigue leyendo y sumérgete aún más en las complejidades de estos comandos.
Listar Archivos y Ver Permisos
Antes de cambiar permisos y propiedad con los comandos chmod
y chown
, el primer paso es listar archivos y ver sus permisos.
Como encontrar un libro en una biblioteca, en Linux, a menudo necesitarás ver una lista de archivos junto con sus permisos asociados. Este conocimiento es crucial para una gestión efectiva de archivos.
Para ver los permisos de un archivo o directorio:
Abre una terminal y ejecuta el siguiente comando ls
para listar todos los archivos y directorios en el directorio de trabajo actual en un formato largo (-l
)
El formato largo proporciona información detallada sobre cada archivo o directorio, como se muestra a continuación.
Esta información incluye permisos, número de enlaces, propietario, grupo, tamaño y hora de modificación. Pero tu enfoque en este momento está en los permisos de archivo.

Tres permisos clave gobiernan cada archivo y directorio: leer (r), escribir (w) y ejecutar (x). Cada uno dicta cómo interactúan los usuarios con el contenido de cada archivo y directorio.
Además, cada uno de estos permisos se aplica en tres categorías distintas de propiedad: propietario, grupo y otros (usuarios que no son ni miembros del grupo).
Lo siguiente ilustra cada parte de los permisos de archivo:
- El primer carácter indica un archivo (–) o un directorio (d).
- La primera parte (rw-) – Proporciona al propietario permisos de lectura y escritura pero no de ejecución.
- La segunda parte (rw-) – Concede al grupo permisos de lectura y escritura pero no de ejecución.
- La última parte (r–) – Permite a otros permisos de lectura pero no de escritura o ejecución.

Modificación de permisos mediante el comando chmod
: Modo simbólico
Ampliando tu comprensión de los permisos de archivo, sumérgete en una herramienta poderosa para modificar permisos. Imagina ajustar quién puede acceder, modificar o ejecutar un archivo o directorio con precisión. El comando chmod
(cambiar modo) te otorga el poder de tomar el control de tu sistema Linux.
Cuando necesites una forma flexible y expresiva de controlar el acceso a tus archivos y directorios con precisión, el modo simbólico hará el truco.
Para modificar permisos con el comando chmod
mediante el modo simbólico, sigue estos pasos:
1. Ejecute el siguiente comando who
para crear un nuevo archivo (>
) llamado user.txt
como usuario no privilegiado, que contiene una lista de usuarios actualmente conectados en su máquina Linux.
Este comando no proporciona salida en la terminal, pero verificará los permisos del archivo en el siguiente paso.
2. A continuación, ejecute el siguiente comando para ver los permisos del archivo user.txt
.
A continuación, puede ver los permisos predeterminados del archivo, el propietario, el día y el mes de creación, y el nombre del archivo.
Tome nota de los permisos actuales del archivo, ya que más tarde realizará una comparación. Su enfoque por ahora son los permisos de usuario (rw-).

3. Ahora, ejecute el siguiente comando para eliminar (-
) el permiso de escritura (w
) para el propietario (u
), dejando inalterado cualquier otro permiso para otras categorías.
La siguiente tabla desglosa lo que representa cada símbolo:
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
Cuando tenga éxito, el comando chmod
no tendrá salida en la terminal, lo cual se aplica en todo este tutorial.
4. Después de cambiar los permisos, ejecute el siguiente comando para ver los permisos del archivo user.txt
.
Compare los permisos del archivo que anotó en el paso dos (rw-) con los que se muestran a continuación. Observe que el propietario (u) ahora solo tiene el permiso de lectura (r–).

5. Ahora, ejecuta cada comando a continuación para realizar lo siguiente:
- Agregar (
+
), escribir (w
) y ejecutar (x
) permisos para el propietario (u
) en el mismo archivouser.txt
. - Ver la información del archivo
user.txt
para verificar los permisos modificados.
Como se muestra a continuación, el usuario ahora tiene permisos de lectura, escritura y ejecución (rwx) para el archivo user.txt.

6. En lugar de agregar, ejecuta el comando chmod
a continuación para eliminar (-
) lo siguiente:
- Permiso de ejecución (
x
) para el propietario (u
). - Permiso de escritura (
w
) para el grupo (g
). - Todos los permisos (
rwx
) para otros (o
).
Este comando te permite eliminar permisos de diferentes categorías simultáneamente con un solo comando.
Esta vez, la opción -v
le indica a chmod
que muestre un mensaje sobre los cambios realizados por la operación.

7. A continuación, ejecuta el siguiente comando para realizar las siguientes operaciones:
- Agregar (
+
) permisos de lectura (r
) a todas las categorías. - Eliminar (
-
) permisos de escritura y ejecución (wx
) para todas las categorías (a
).
8. Ahora, ejecuta el siguiente comando para ver los permisos actualizados del archivo user.txt
.

? Alternativamente, puedes modificar el mismo permiso para las tres categorías (usuario, grupo y otros) con los siguientes comandos:
chmod ugo-r
– Elimina (-
) los permisos de lectura (r
) para las tres categorías (ugo
).
chmod ugo+r
– Agrega (+
) los permisos de lectura (r
) para las tres categorías (ugo
).
9. Por último, ejecuta los comandos a continuación para realizar lo siguiente:
chmod
– Establece (=
) los permisos de lectura y escritura (rw
) para el propietario y el grupo, y elimina los permisos de otros (o=
).
El símbolo=
te permite establecer explícitamente permisos y anular cualquier permiso existente. Si no se especifican permisos después del símbolo=
, se eliminan todos los permisos para esa categoría.ls
– Visualiza los cambios que realizaste en los permisos del archivouser.txt
.

Ajustar Derechos de Acceso Usando el Comando chmod
: Modo Octal
Imagina tener la capacidad de establecer rápidamente y con precisión permisos para tus archivos sin las complejidades de la notación simbólica. El modo octal (notación en base ocho) se convertirá en tu nuevo método favorito para gestionar permisos.
En el modo octal (notación en base ocho), los permisos se representan mediante un número de cuatro o tres dígitos, del 0 al 7. Cada número corresponde a un conjunto específico de permisos para el propietario, el grupo y otros, de la siguiente manera:
- Lectura (r) = 4
- Escritura (w) = 2
- Ejecución (x) = 1
- Sin permisos (-) = 0
Para ver cómo funciona el modo octal en la gestión de permisos de archivos, lleva a cabo estos pasos:
1. Ejecute el siguiente comando chmod
para agregar los siguientes permisos (664
) al archivo user.txt
:
- Propietario – lectura (
4
) + escritura (2
) + ejecución (0
) =6
- Grupo – lectura (
4
) + escritura (2
) + ejecución (0
) =6
- Otros – lectura (
4
) + escritura (0
) + ejecución (0
)=4
Cuando se utiliza un número de cuatro dígitos con el comando chmod
para permisos de archivo en Linux, el dígito principal (el más a la izquierda) representa permisos especiales, como setuid, setgid y el bit sticky. Los siguientes tres dígitos representan los permisos estándar para el propietario, grupo y otros, respectivamente.
Pero al usar un número de tres dígitos, el primer dígito representa los permisos del propietario del archivo (u
), el segundo para el grupo del archivo (g
), y el último para otros (o
).
En muchos casos, especialmente cuando no se trata de permisos especiales, es posible que solo vea la notación de tres dígitos. El cero principal, que indica notación octal, puede entenderse e implícitamente omitirse. Como en el ejemplo a continuación, en lugar de 0664
, se utiliza 664
.
2. A continuación, ejecute el siguiente comando para ver los permisos del archivo user.txt
.
En la salida a continuación, puede ver que los permisos establecidos para el archivo user.txt están en modo simbólico, equivalente a 664 en modo octal.

3. Ahora, ejecuta el comando stat
a continuación para ver un conjunto completo de estadísticas sobre el archivo user.txt
, incluidos los permisos en los modos simbólico y octal.
En la propiedad de Acceso, como se muestra a continuación, verás el modo octal y simbólico asociado con los permisos de archivo del archivo user.txt.
Con esta información, mejorarás tu comprensión de cómo ajustar permisos usando el modo octal.

Cambiando la propiedad del archivo con el comando chown
Mientras que los permisos dictan qué acciones se pueden realizar en un archivo o directorio, puedes especificar quién tiene el derecho de establecer o modificar estos permisos cambiando la propiedad.
El comando chown
(cambiar propietario) es el comando principal para administrar la propiedad de archivos y directorios. Al igual que el comando chmod
, el comando chown
es un comando solo para el usuario root, solo el usuario root puede cambiar la propiedad de un archivo o directorio.
Para administrar la propiedad con el comando chown
, procede con los siguientes pasos:
1. Ejecuta los siguientes comandos para crear un usuario (useradd
) llamado bill
y proporcionar una contraseña segura.
Necesitas tener más de un usuario en tu máquina local que no sea el usuario predeterminado, que eres tú, para ver cómo funciona el cambio de propiedad.

2. A continuación, ejecuta cada comando a continuación y escribe una lista de usuarios conectados actualmente (who
) en un archivo llamado new.txt
como un usuario no privilegiado, y visualiza (ls
) su propietario y permisos.
Abajo, la salida muestra que el propietario del archivo es mercy.

3. Con el propietario verificado, ejecuta el comando chown
a continuación para cambiar el propietario del archivo new.txt
a bill
.
Al igual que el comando chmod
, el comando chown
no proporciona salida, pero verificarás el cambio de propietario en el siguiente paso.
4. Ahora, ejecuta el siguiente comando para visualizar (ls
) el nuevo propietario del archivo new.txt
.
La salida a continuación confirma que has cambiado correctamente el propietario del archivo new.txt a bill, quien ahora tiene control y autoridad sobre ese archivo.

Aplicando el Comando chown
para Modificar la Propiedad del Grupo
En el sistema de archivos de Linux, cada archivo y directorio está asociado no solo con un propietario individual sino también con un grupo. Así como un solo instrumento desafinado puede perturbar todo el conjunto, una propiedad incorrecta puede provocar problemas potenciales.
¿Deberías preocuparte? Realmente no. La asociación de grupos permite un enfoque en capas para los permisos de archivo. Este enfoque permite que varios usuarios colaboren y compartan acceso según la membresía al grupo.
Para modificar la propiedad de un grupo, sigue estos pasos:
1. Ejecuta el siguiente comando para ver el grupo asociado con el archivo new.txt
.

2. A continuación, ejecuta los comandos a continuación, que no proporcionan una salida pero realizan lo siguiente:
- Crea un grupo (
groupadd
) llamadodevelopers
. - Cambia la propiedad del grupo (
chown
) del archivonew.txt
adevelopers
.
? Alternativamente, en lugar de un enfoque individual, utiliza los siguientes comandos para cambiar de forma recursiva el propietario y la propiedad del grupo de un archivo o un directorio completo.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/Desktop
3. Ahora, vuelve a ejecutar el siguiente comando para ver (ls
) la nueva propiedad del grupo del archivo new.txt
.
A continuación, la salida confirma que has cambiado con éxito la propiedad del grupo del archivo new.txt a developers.

Modificación de la Propiedad de Archivos mediante Identificadores Numéricos de UID y GID
Mientras que los nombres de usuario y de grupo ofrecen una forma legible para identificar a los propietarios de archivos, cada usuario y grupo también está asociado con identificadores numéricos únicos.
Estos identificadores numéricos únicos son el Identificador de Usuario (UID) y el Identificador de Grupo (GID). Proporcionan una forma inequívoca de establecer la propiedad del archivo en entornos con nombres de usuario y de grupo superpuestos o similares.
Para cambiar la propiedad utilizando UIDs y GIDs numéricos, realiza estos pasos:
1. Ejecute el siguiente comando para listar la información (ls
) sobre el archivo new.txt
.
La opción -n
indica al comando ls
que muestre UIDs y GIDs numéricos en lugar de resolverlos a sus nombres de usuario y grupo correspondientes.
Observe el UID y GID asociados con el archivo new.txt
, ya que los necesitará para realizar comparaciones en el siguiente paso.

2. A continuación, ejecute los siguientes comandos de getent
para obtener el UID y GID del usuario y grupo que desea establecer como propietarios de su archivo.
Asegúrese de reemplazar los marcadores <username>
y <groupname>
con su nombre de usuario y nombre de grupo preferidos.
Tomar nota del UID (es decir, 1002) y GID (es decir, 1005) en la siguiente salida, ya que los necesitará para cambiar la propiedad en el siguiente paso.
Por defecto, al crear un usuario en Linux, se crea automáticamente un grupo con el mismo nombre que el usuario. Este grupo sirve como grupo primario del usuario y se agrega automáticamente a este grupo primario.
Por lo tanto, el GID del usuario john
difiere del GID del grupo finance
. A menos que el usuario sea añadido explícitamente al grupo, sus respectivos GIDs siguen siendo diferentes.

3. A continuación, ejecute el siguiente comando para cambiar la propiedad y el grupo propietario del archivo new.txt
. Asegúrese de reemplazar 1002
y 1005
con los que anotó en el paso dos.
? Ten en cuenta que el uso de UID y GID numéricos puede ser menos legible que los nombres de usuario y grupos. Por lo tanto, asegúrate de usar los números correctos para evitar cambios no deseados.
4. Finalmente, vuelve a ejecutar el comando a continuación para listar información (ls
) sobre el archivo new.txt
y verificar los cambios en la propiedad del archivo.
Compara el UID y GID que anotaste en el paso uno con los que se muestran a continuación. Observa que la propiedad del nuevo archivo ha cambiado de 1001:1003 a 1002:1005.

Conclusión
Acabas de embarcarte en una exploración exhaustiva de los permisos de Linux, dominando comandos cruciales como chmod
y chown
. A lo largo de este tutorial, te has vuelto hábil en la modificación de permisos utilizando modos simbólicos y octales.
También has adquirido habilidades para gestionar la propiedad de archivos y asignaciones de grupos, ya sea por nombre o mediante UID y GID numéricos. Con esta nueva experiencia en chmod
y chown
, ahora tienes herramientas poderosas para gobernar el acceso y la propiedad dentro de tu sistema Linux.
Pero, ¿por qué no fortalecer aún más tu competencia en Linux? Tal vez considera adentrarte en métodos avanzados de control de acceso, incluyendo Listas de Control de Acceso (ACL). ¡Apunta a un control aún más preciso sobre los permisos de archivos y directorios!