Permisos de archivos

última modificación:

En sistemas tipo Unix cada archivo y directorio tiene asociados unos permisos que determinan quién puede leerlo, modificarlo o ejecutarlo. Entender cómo funcionan es fundamental para administrar un servidor con seguridad.

Los permisos se dividen en tres grupos: el propietario del archivo, el grupo al que pertenece y el resto de usuarios. Para cada grupo hay tres bits: lectura (r), escritura (w) y ejecución (x). Con ls -l podemos verlos:

-rw-r--r-- 1 usuario grupo 1234 jun  5 10:00 archivo.txt

Para cambiar los permisos usamos chmod. Podemos usar la notación octal (más compacta) o la simbólica:

chmod 644 archivo.txt      # propietario: rw, grupo y resto: r
chmod 755 script.sh        # propietario: rwx, grupo y resto: rx
chmod 600 ~/.ssh/id_rsa    # solo el propietario puede leer y escribir

En la notación octal cada dígito suma: 4 (lectura) + 2 (escritura) + 1 (ejecución).

Para cambiar el propietario o el grupo de un archivo usamos chown:

chown usuario archivo.txt
chown usuario:grupo archivo.txt

En un servidor web, por ejemplo, los archivos del sitio suelen pertenecer al usuario de Apache, con permisos 644 para archivos y 755 para directorios. Cambiar propietario o permisos de archivos que no son tuyos requiere sudo.