Para trabajar con archivos en GNU/Linux se debe conocer que permisos se tiene sobre los mismo y cuales son los parámetros a seguir. puesto que no tener algunos permisos sobre ellos cuando se necesita puede ser problemático al igual que otros usuarios tengan permisos sobre archivos que no deberían.
Tipos de permisos
En los sistemas Linux y los basados en Unix en general permite como Administradores, definir los tipos de archivos o carpetas, existen 2 tipos de variables:
- Clases: Determina los usuarios que pueden acceder.
Propietario: creador del archivo o carpeta.
Grupo: grupo de usuarios del sistema.
Otros: otros usuarios del sistema (que no son el propietario).
- Permisos: Determina la tarea a ejecutar.
Lectura: Solo permite ver el archivo.
Escritura: Permite ver y editar el archivo.
Ejecución: Permite ejecutar el archivo como un programa ejecutable.
Para saber que permisos tienen tus archivos puedes ejecutar el siguiente comando:
ls -al
Ejemplo 1
El primer carácter al extremo izquierdo, representa el tipo de archivo. Los siguientes 9 restantes, representan los permisos del archivo.
Diagrama 1
Cambiando los Permisos
Siguiendo el ejemplo de la imagen anterior podemos entender que en el ejemplo se tiene un archivo que el propietario puede tanto leer como editar el archivo, mientras que los demás solo pueden leerlo, pero si por ejemplo tuviese ese archivo en una carpeta compartida y se necesita que un compañero pueda editar el archivo, que debería hacer.
Para cambiar los permisos de un archivo o carpeta es necesario tener permiso de escritura (w) sobre el archivo o carpeta, Para esto se usa el comando chmod. La sintaxis es la siguiente:
chmod [opciones] permiso nombre_archivo_o_carpeta
Ejemplos:
sudo chmod u+w tarea.odt
Se da permiso de escritura a al propietario del archivo.
sudo chmod o-w tarea.odt
Se quita el permiso de escritura a otros usuarios sobre el archivo.
sudo chmod u+w,g-r,o-r libro.odt
El propietario puede escribir, Grupos y otros no pueden leer.
Otro modo de usar chmod es utilizando un código numérico de 3 cifras el cual expresa el permiso para cada uno de las clases anteriormente mencionadas.
Cód Binario Permisos Significado
U G O
0 0 0 0 - - - Sin permisos
1 0 0 1 - - x Ejecución
2 0 1 0 - w - Escritura
3 0 1 1 - w x Escritura y ejecución
4 1 0 0 r - - Solo lectura
5 1 0 1 r - x Lectura y Ejecución
6 1 1 0 r w - Lectura y Escritura
7 1 1 1 r w x Lectura, Escritura y Ejecución (todos los permisos).
Nota: El orden de los permisos va acorde al diagrama 1, en el que el primer valor es del Usuario Propietario, el segundo de Grupos y el tercero de los Otros usuarios
Ejemplos
chmod 700 resumen.txt
Usuario propietario tiene todos los permisos, ningún permiso a los grupos ni otros
chmod 755 resumen.txt
Todos los permisos al propietario, Grupos y Otros solo tienen Lectura y ejecución.
chmod 744 resumen.txt
Todos los permisos al propietario, Grupos y Otros solo lectura.
chmod 777 resumen.txt
Todos los permisos para todos.
También es posible editar los permisos como se ve en el siguiente ejemplo dando click derecho sobre el archivo y dando click sobre la pestaña permisos.
Los permisos pueden asignarse a usuarios, grupos y otros.
Nota: Para poder cambiar los permisos de un archivo se debe ser propietario del archivo o en su defecto usar una cuenta de nivel administrador o superior (root).
Aquí termina esta entrada espero que les sea de utilidad y aclare tus dudas. pronto habrá una próxima entrada con mas noticias, novedades y laboratorios.