Tutorial gestionar permisos y atributos de archivos en GNU/Linux
En este tutorial veremos como podemos cambiar permisos de lectura, escritura, ejecución y de propietario a los archivos en GNU/Linux.
Palabras claves: permisos de archivos, propietario de archivo, chmod, chown, atributos especiales archivo, chattr, lsattr.
Para ver los permisos del directorio en el cual estamos posicionados:
ls -l
Lo cual nos dará por ejemplo estas informaciones:
-rw-rw-r-- 1 usuario usuario 15912 Fev 18 20:48 archivo_de_texto.txt
Lo primero que leemos son los permisos - significa que es un archivo normal, r (read) que se puede leer, w (write) escribir por el propietario del archivo.
El segundo terceto (rw-) son los permisos del grupo de usuarios y el tercero (r--) para el resto de usuarios. El número que le sigue es la cantidad de enlaces
La tercera columna son el nombre del usuario y del grupo de usuarios, la cuarta columna es el tamaño del archivo, luego viene la fecha de la última modificación y por último el nombre del archivo.
drwxr-xr-x 2 usuario usuario 4096 Fev 28 2014 Documentos
En esta línea vemos una letra d (directory) al inicio, significa que es un directorio. Otras opciones pueden ser l (links) enlace y p (pipe). La letra x significa permiso para ejecutar un programa.
Por ejemplo para cambiar los permisos al archivo archivo_de_texto.txt escribimos:
chmod 664 archivo_de_texto.txt
Para cambiar los permisos al directorio Documentos:
chmod 755 Documentos
Para entender mejor el porqué de los números:
7 5 5
usuario grupo otros
r+w+x r+x r+x
4+2+1 4+0+1 4+0+1
En cuanto a los usuarios, para cambiar al propietario de un archivo:
chown usuario2 archivo_de_texto.txt
Aqui el propietario del archivo pasa a ser usuario2. Para cambiar también el grupo sería:
chown usuario2:usuario2 archivo_de_texto.txt
Por último, los archivos tienen atributos especiales que prohiben por ejemplo, que éstos sean movidos, borrados, modificados o renombrados. Si escribimos:
chattr +i archivo_de_texto.txt
El archivo quedará inmutable.
Si queremos en un futuro borrarlo o modificarlos:
lsattr archivo_de_texto.txt
Más información en https://wiki.archlinux.org/index.php/File_permissions_and_attributes (idioma inglés)