Aprende leyendo en orden

Permisos — leer rwx y cambiarlos con chmod

Este artículo forma parte del Curso de Linux, con el que dominarás desde cero habilidades prácticas de Linux, desde los comandos básicos hasta los scripts de shell.
Aprende a leer la notación rwx y los números octales en ls -l, a reescribir permisos con los modos simbólico y numérico de chmod, y la sintaxis de chown — todo práctico en una terminal del navegador.

Leer los permisos — ls -l y octal

Los permisos son una configuración de quién puede hacer qué con un archivo o directorio.

Al ejecutar ls -l, cada línea empieza con 10 caracteres como -rwxr-xr-x.

El primer carácter es el tipo (- para un archivo, d para un directorio), y los 9 siguientes se leen en grupos de tres.

Los 9 caracteres son tres grupos desde la izquierda: owner, group y other.

Cada grupo va en el orden r (lectura), w (escritura), x (ejecución) — una letra si está permitido, o - si no.

r=4, w=2, x=1 corresponden a tres bits binarios, y sumas las posiciones 4, 2, 1.

Al sumar un grupo, rwx es 7, r-x es 5 y r-- es 4; alinea tres grupos y obtienes la notación octal, como 755 o 644.

SímboloSignificador4+w2+x1Número
---Nada permitido00
--xSolo ejecución11
r--Solo lectura44
r-xLectura + ejecución4+15
rw-Lectura + escritura4+26
rwxAcceso total4+2+17
OctalNotación rwxUso
644rw-r--r--Archivos normales
755rwxr-xr-xScripts y directorios
700rwx------Claves privadas, directorios personales
600rw-------Archivos de configuración
Correspondencia de rwx a octal
ownergroupotherrwx = r4+w2+x1r-x = r4+x1r-x = r4+x1= 7= 5= 5755
rwxr-xr-x se lee como owner 7, group 5, other 5 — es decir, 755.

Los permisos aquí frente a un servidor de producción

Este entorno del navegador se ejecuta solo como root, así que aunque cambies los bits con chmod, root ignora las restricciones de acceso y no aparece Permission denied.

En este curso aprendes a leer los bits y la sintaxis de chmod / chown.

Sí puedes ver cómo cambia lo que muestra ls -l.

En un servidor de producción multiusuario, esta configuración de permisos funciona como control de acceso.

touch report.txt        # crear un archivo de ejemplo
ls -l report.txt        # leer la notación rwx inicial
ls -l                   # listar el directorio para ver también la d

① Crea un archivo de ejemplo con touch report.txt.

② Ejecuta ls -l report.txt y lee la notación rwx al inicio de la línea.

③ Divide los 9 caracteres que leíste en grupos de tres y conviértelos en un número octal de 3 dígitos sumando r=4, w=2, x=1.

④ Lista todo el directorio actual con ls -l y comprueba la diferencia en el carácter inicial entre archivos y directorios. (Ejecútalo correctamente y aparecerá una explicación.)

Linux console
0 / 3 completado(s)
Loading Linux Terminal...

Cambiar los permisos — chmod

chmod cambia los permisos.

Hay dos formas de escribirlo: el modo simbólico, donde indicas con símbolos como chmod +x file para 'añadir ejecución', y el modo numérico, donde indicas owner, group y other juntos con un número octal de 3 dígitos como chmod 644 file.

ModoCómo se escribeEjemploSignificado
Simbólicochmod [ugoa][+-=][rwx]chmod +x fileAñadir ejecución
Numéricochmod NNN filechmod 644 fileFijar los tres grupos a la vez
Modo simbólico y modo numérico de chmod
chmod +x run.shañadir x (ejecución)para todoschmod 644 data.txtfijar a rw-r--r--(rw / r / r)chmod 700 secret.txtfijar a rwx------(solo owner, total)
El símbolo +x añade ejecución, y los números 644 / 700 fijan los tres grupos a la vez.
touch script.sh             # crear un archivo de ejemplo
chmod +x script.sh          # añadir ejecución
ls -l script.sh             # comprobar que se añadió la x

① Crea un archivo de ejemplo con touch script.sh.

② Añade el permiso de ejecución con chmod +x script.sh, y confirma con ls -l script.sh que se añadió una x a la notación inicial.

③ Luego ejecuta chmod 644 script.sh y confirma con ls -l script.sh que la notación cambió a rw-r--r--.

Linux console
0 / 4 completado(s)
Loading Linux Terminal...

Solo el owner — chmod 700

chmod 700 da al owner rwx y no da nada a group ni a other.

Es la configuración típica para cosas que no quieres que toque nadie más que el owner, como claves privadas o directorios personales.

Lo mostrado pasa a ser rwx------.

① Crea un archivo de ejemplo con touch secret.txt.

② Ejecuta chmod 700 secret.txt.

③ Con ls -l secret.txt, confirma que la notación cambió a rwx------ y que los campos de group y other son todos -.

Linux console
0 / 3 completado(s)
Loading Linux Terminal...

Cambiar el owner — chown

chown es el comando que cambia el owner de un archivo o directorio.

La sintaxis es chown user file, y para cambiar también el group escribes chown user:group file.

Aquí el : separa el user y el group: antes del : va el owner, y después va el group.

Cómo se escribeSignificadoEjemplo
chown user fileCambiar el ownerchown alice file.txt
chown user:group fileCambiar el owner y el groupchown alice:dev file.txt

Cambiar el owner es, por su naturaleza, una operación de root, usada en servidores multiusuario para entregar un archivo a un nuevo owner.

No hay ocasión de ejecutarlo en este entorno, así que en el siguiente ejemplo basta con leer y aprender la forma de la sintaxis.

chown alice file.txt        # cambiar el owner a alice
chown alice:dev file.txt    # owner alice, group dev
QUIZ

Verificación de conocimientos

Responde cada pregunta una a una.

Pregunta 1¿Cuál es el octal del -rwxr-xr-x que se muestra al inicio de ls -l?

Pregunta 2¿Qué hace chmod +x script.sh?

Pregunta 3¿Cuál es la notación tras ejecutar chmod 700 secret.txt?