siguiente arriba anterior
Siguiente: Ejercicios Arriba: Archivos (ii) y permisos Anterior: Ejercicios

Permisos sobre archivos

Los permisos sobre archivos son muy importante en UNIX, dado que mediante éstos no solo se gobierna para cada usuario qué información es accesible, sino también qué programas podrá ejecutar!

Como ya sabe, cada elemento del sistema de nombres de archivos lleva asociado dos números (uid: User Identity, gid: Group Identity) que indican el usuario y grupo propietario del archivo y un patrón de bits que codifica los derechos de acceso, modificación y ejecución (véase la figura [*]). A esto se añaden los recursos de las listas de control de acceso (ACL: Access Control List) que no se comenta en esta sección.

Figura: Máscara de permisos UNIX, salvo suid, sgid y stycky bit
\includegraphics{permisos.eps}

Para modificar los propietarios se utilizan, principalmente, dos mandatos: chgrp y chown. El primero permite cambiar el grupo y se podrá utilizar si el usuario que ejecuta el mandato es propietario del archivo y pertenece al nuevo grupo al que se asigna. El segundo se utiliza habitualmente por el usuario root y permite hacer las dos operaciones a la vez.

Ambas admiten la posibilidad de hacer un cambio recursivo sobre un directorio (opción -R).

chgrp gDest nombre Cambia el grupo del archivo o carpeta nombre al grupo destino gDest
chown uDest nombre Cambia el usuario del archivo o carpeta nombre al usuario destino uDest
chown uDest:gDest nombre Cambia el usuario y grupo del archivo o carpeta nombre al usuario y grupo destino uDest y gDest, respectivamente.

Con lo que respecta a la máscara de permisos, se establece al crear cada archivo de acuerdo con una patrón de permisos denominado umask. Esta máscara, a la vez que los posibles permisos los establece el usuario propietario del archivo o carpeta, y puede expresarse tanto en formato numérico octal como en forma de modificaciones al patrón actual.

chmod ### nombre Cambia los permisos del archivo o carpeta nombre según el patrón numérico de tres dígitos en octal: ###.
chmod instrucc nombre idem del anterior, salvo que en instrucc se especifican las variaciones del patrón nuevo con respecto al actual.

En el primer caso de sintaxis no puede ser más fácil

777 Representa: rwx rwx rwx.
540 Representa: r-x r- --.
754 Representa: rwx r-x r-.

En el segundo la instrucción consta de una letra que identifica la parte del patrón que se modifica (u: usuario, g: grupo, o: otros), un símbolo (+: admitir, -: denegar) y el permiso concreto (r, w, x) (éste último puede incluir una combinación de estas tres letras).

Por ejemplo, para los permisos rwx r-x r-- sobre el archivo ABC las siguientes instrucciones obtienen un patrón como se indica.

chmod u-w ABC Nuevos permisos: r-x r-x r-.
chmod g-rx ABC Nuevos permisos: rwx -- r-.
chmod o-r ABC Nuevos permisos: rwx -x --.
chmod o+rwx ABC Nuevos permisos: rwx r-x rwx.



Subsecciones
siguiente arriba anterior
Siguiente: Ejercicios Arriba: Archivos (ii) y permisos Anterior: Ejercicios
Cesar Llamas Bello 2001-01-09