-
Notifications
You must be signed in to change notification settings - Fork 0
02 Cambio de Propiedad y Permisos
El comando chown (change owner) nos permite cambiar el usuario y/o el grupo
propietario de un archivo o un directorio.
chown [OPCIONES]... [PROPIETARIO][:[GRUPO]] ARCHIVO...
chown [OPCIONES]... --reference=ARCHIVO_REF ARCHIVO...| Uso | Descripción | Ejemplo |
|---|---|---|
chown [PROPIETARIO][:[GRUPO]] ARCHIVO ... |
Cambia el usuario propietario por PROPIETARIO y/o el grupo propietario por GRUPO de los archivos especificados |
chown root:root /etc/sudoerschown gaby tarea.docxchown saul: notas.mdchown :networking escaneo.csv
|
chown -R [PROPIETARIO][:[GRUPO]] DIR ... |
Cambia el usuario propietario por PROPIETARIO y/o el grupo propietario por GRUPO de forma recursiva para el directorio DIR
|
chown -R $USER ~/Documentschown -R root:root /root
|
chown -h [PROPIETARIO][:[GRUPO]] ARCHIVO ... |
Cambia el usuario propietario por PROPIETARIO y/o el grupo propietario por GRUPO de los archivos especificados, afectando a los links simbólicos en sí mismos en lugar del archivo al que apuntan |
chown -h $USER ~/Desktop/*chown -Rh :support /home/support/
|
chown --reference=ARCHIVO_REF ARCHIVO ... |
Copia el usuario propietario y el grupo propietario desde ARCHIVO_REF y los aplica a los archivos especificados |
chown --reference=/etc/passwd /etc/shadow |
chown --from=PROPIETARIO_ACTUAL:GRUPO_ACTUAL [PROPIETARIO][:[GRUPO]] ARCHIVO ... |
Cambia el usuario propietario por PROPIETARIO y/o el grupo propietario por GRUPO solo en los archivos especificados que coincidan con PROPIETARIO_ACTUAL y/o GRUPO_ACTUAL
|
chown -R --from=www-data:www-data nginx:nginx /var/www/html/ |
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...El comando chmod (change file mode) nos permite modificar el modo (permisos)
de un archivo. Este comando soporta dos maneras distintas de especificar cambios
del modo.
- Representación octal
- Representación simbólica
Note
Para más información sobre los números octales, binarios y, en general, los sistemas numéricos, véase Sistemas Numéricos
A continuación se muestra una tabla de las representaciones del file mode en binario y octal:
| Octal | Binario | File mode |
|---|---|---|
| 0 | 000 | --- |
| 1 | 001 | --x |
| 2 | 010 | -w- |
| 3 | 011 | -wx |
| 4 | 100 | r-- |
| 5 | 101 | r-x |
| 6 | 110 | rw- |
| 7 | 111 | rwx |
Como podemos observar en la tabla, los unos del número binario representan la
posición activa del file mode, mientras que los ceros la posición inactiva.
Con el comando chmod podemos utilizar un número octal de tres dígitos para
establecer el file mode, donde:
-
El primer dígito octal es el owner mode (permisos del usuario propietario).
-
El segundo dígito octal es el group mode (permisos del grupo propietario).
-
El tercer dígito octal es el other mode (permisos de otros).
Por ejemplo, para establecer el file mode rwxr-xr-x a un archivo podemos
utilizar el número 755, por ejemplo:
$ echo -e "#!/usr/bin/python3\n" > /tmp/hello.py
$ echo 'print("¡Hola, mundo!")' >> /tmp/hello.py
$ ls -l
-rw-r--r-- 1 sysadmin sysadmin 43 Apr 6 23:24 /tmp/hello.py
$ chmod 755 /tmp/hello.py
$ ls -l
-rwxr-xr-x 1 sysadmin sysadmin 43 Apr 6 23:24 /tmp/hello.py
$ /tmp/hello.py
¡Hola, mundo!La notación simbólica nos permite, a través del chmod, modificar el file
mode al especificar qué permisos establecer, agregar o remover del owner,
group o others. Los símbolos que utiliza para estas tres entidades se
muestran en la siguiente tabla:
| Símbolo | Entidad |
|---|---|
u |
owner (usuario) |
g |
group |
o |
others |
a |
all (combinación de u, g y o) |
El formato de la notación simbólica es [ugoa ...][[-+=][perms ...]...], donde
perms es cero o más letras del conjunto rwxXst, o una letra del conjunto
ugo. Si se omite la entidad, se asume a. Múltiples symbolic modes pueden
ser proporcionados al separarlos con comas.
En la siguiente tabla se muestran algunos ejemplos de uso de esta notación:
| Notación | Significado |
|---|---|
u+x |
Agrega permisos de ejecución al owner |
g=rx |
Asigna al group los permisos de lectura y ejecución |
o-rw |
Remueve permisos de lectura y escritura a others |
a+x+x
|
Agrega a todas las entidades el permiso de ejecución |
ug=rw |
Asigna al owner y al group permisos de lectura y escritura |
go=u |
Asigna al group y a others los mismos permisos que el owner |
o= |
Remueve todos los permisos a others |
+x,u+rw,go-rw |
Agrega a todas las entidades el permiso de ejecución; después agrega al owner el permiso de lectura y escritura; y por último remueve los permisos de lectura y escritura al group y a others |
u=rw,og=r |
Asigna permisos de lectura y escritura al owner y permisos de lectura al group y a others. Equivalente a 644
|
| Uso | Descripción | Ejemplo |
|---|---|---|
chmod MODE ARCHIVO ... |
Modifica el file mode (permisos) de los archivos especificados |
chmod 644 notas.mdchmod u=rw,og=r notas.md
|
chmod -R MODE DIR |
Modifica el file mode (permisos) de forma recursiva para el directorio DIR
|
chmod -R 755 ~/proyectos/chmod -R u=rwx,og=rx ~/proyectos/
|
chmod -v MODE ARCHIVO ... |
Muestra un mensaje por cada archivo procesado indicando el cambio realizado |
chmod -v 600 id_rsachmod -v u=rw,og= id_rsa
|
chmod --reference=ARCHIVO_REF ARCHIVO ... |
Copia el file mode desde ARCHIVO_REF y lo aplica a los archivos especificados |
chmod --reference=/etc/passwd /etc/shadow |
chmod --from=MODE_ACTUAL MODE ARCHIVO ... |
Modifica el file mode solo en los archivos especificados cuyo modo actual coincida con MODE_ACTUAL
|
chmod --from=644 755 script.shchmod --from=u=rw,og=r u=rwx,og=rx script.sh
|
Note
Solo el usuario propietario del archivo y root pueden cambiar los permisos
con chmod. Otros usuarios con privilegios de superusuario (e.g., miembros de
los grupos sudo y/o wheel) también pueden hacerlo ejecutando sudo chmod.
chown y chmod son comandos fundamentales para la administración de acceso en
sistemas Linux. El primero nos permite definir quién es el propietario de un
archivo; el segundo, qué puede hacer con él. Usados en conjunto, nos dan el
control necesario para cumplir con el principio de menor privilegio (PoLP),
garantizando que cada usuario y proceso cuente únicamente con los permisos
estrictamente necesarios para desempeñar su función.
Caution
Evita otorgar permisos de forma indiscriminada, especialmente modos permisivos
como 777, y ten especial cuidado con archivos sensibles como archivos de
configuración, claves privadas y binarios del sistema, ya que una mala
configuración puede comprometer la integridad y seguridad del sistema
completo.
Una gestión correcta de propiedad y permisos reduce directamente la superficie de ataque: si un atacante compromete una cuenta con privilegios mínimos, el daño que puede causar es considerablemente limitado. En cambio, permisos mal configurados pueden ser el vector que le permita escalar privilegios o acceder a información confidencial.
-
MacKenzie, D. & Meyering J. (febrero de 2026). CHOWN(1). https://man.archlinux.org/man/chown.1
-
MacKenzie, D. & Meyering J. (febrero de 2026). CHMOD(1). https://man.archlinux.org/man/chmod.1
-
Shotts, W. (2019). Permissions. The Linux Command Line (2nd ed., pp. 84–88). No Starch Press.
- Definición y Estructura de un Shell
- Los Diferentes Tipos de Shell
- Definición y Sintaxis de un Comando
- Variables, Alias y Funciones
- Comandos de Utilidad y Consulta
- Linux como Sistema Multiusuario
- Introducción a los Usuarios y Grupos
- Gestión de Usuarios
- Gestión de Grupos
- Gestión de Contraseñas
- Búsqueda de Información de Usuarios y Grupos con
getent
- Atributos de Archivos: Propiedad y Permisos de los Archivos
- Cambio de Propiedad y Permisos
umask: Permisos Predeterminados de Archivos- Cambio de Identidad y Privilegios
- Gestión de Paquetes (Package Management)
- Compresión y Archivado de Archivos
- Optimización y Conversion de Archivos