13.1.3. Los permisos en la práctica
Esta sección presenta una corta sesión de ejemplo que muestra el uso de los permisos.
Para cambiar los permisos, utilizaremos la orden chmod.
Aquí tenemos un par de trucos nuevos. Primero, puede utilizar el ; para poner dos
órdenes en una sóla línea. Puede escribir lo anterior como:
o como:
De cualquiera de las dos maneras acabará haciendo lo mismo.
Recordemos que cd por sí solo le devuelve a su directorio personal. touch se suele
utilizar para cambiar la fecha de modificación de un fichero a la fecha actual. Pero
tiene otra característica interesante: si el fichero no existe, touch lo crea. Por
lo tanto lo estamos utilizando para crear un fichero con el que practicar.
Utilice ls`l para confirmar que el fichero ha sido creado y compruebe los
permisos:
$ ls -l
-rw-r--r-- 1 usuario usuario 0 Nov 18 22:04 mifichero
Obviamente, la hora y nombres de usuario y grupo serán diferentes a los que vea
usted. El tamaño del fichero es 0, porque touch crea un fichero vacío. -rw-r--r-- es
el modo de permisos por defecto de Debian.
Esta orden añade (+) permisos de ejecución (x) para el usuario (u) dueño del fichero.
Utilice ls`l para comprobar los efectos.
Aquí hemos eliminado (-) el permiso de lectura (r) del grupo (g) al que pertenece el
fichero y del resto del mundo (otros, o). De nuevo, puede utilizar ls`l para verificar
los efectos.
Aquí establecemos (=) los permisos del usuario, grupo y otros, de manera que
puedan leer y ejecutar. Esto pone exactamente los permisos que haya especificado, y
desactiva todos los otros permisos. De manera que deberían estar activos todos
los permisos rx, e inactivos todos los w. Ahora, nadie puede escribir en el
fichero.
a es otra forma de decir ugo, o «todos» (all). De manera que habremos quitado
todos los permisos x.
Con esta orden, estaremos borrando el fichero, pero sin permiso de escritura. rm le
preguntará si está seguro mostrando el siguiente mensaje:
rm: ¿borrar el fichero protegido contra escritura ‘mifichero’? (s/n)
Debiera responder escribiendo s y pulsando Intro. Esto es una característica de rm,
no algo concerniente a los permisos. El permiso para borrar un fichero viene de los
permisos del directorio, y usted tiene permisos de escritura en ése. Sin embargo, rm
intenta ser de ayuda, considerando que si usted no quería hacer cambios al fichero (y
por tanto eliminó los permisos de escritura), tampoco querrá borrarlo, y por tanto, le
pregunta.
En versiones anteriores de rm, se le preguntaba si quería borrar el fichero con
«permisos 0444». Esto hacía referencia a que el modo de los permisos es un número
binario de 12 dígitos, como éste: 000100100100. 0444 es número binario,
representado en base octal, que es la forma convencional de escribirlo. De manera que
usted puede escribir chmod 444 mifichero en lugar de chmod ugo=r mifichero.