umask
La orden interna umask sirve para establecer los permisos por defecto que se le asignarán a los ficheros y directorios al crearlos. El administrador del sistema suele poner esta orden dentro de alguno de los ficheros de arranque del shell con el objetivo de establecer una máscara de permisos por defecto desde el inicio de la sesión; posteriormente, el usuario podrá cambiarla.
La sintaxis de la orden umask es la siguiente:
umask [opción] [modo]
donde modo indica la máscara predeterminada. Esta se puede dar en forma de número octal, en cuyo caso indica los permisos que no se van a establecer por defecto, y en forma simbólica, que indica los permisos que se van a poner.
Un ejemplo de máscara predeterminada podría ser rw-r----- para los ficheros regulares, y rwxr-x--- para los directorios, y podríamos establecerla con la ejecución de cualquiera de la dos órdenes siguientes:
$ umask 027
$ umask u=rwx,g=rx
¿A qué es debida esta diferencia entre los ficheros y los directorios, si la máscara es la misma? Esto es debido a que a los ficheros regulares nunca se les activa el permiso de ejecución al crearlos; si queremos que lo tenga, deberemos dárselo nosotros utilizando la orden chmod.
Podemos ejecutar la orden umask en cualquier momento si queremos modificar la máscara por omisión, a partir de ese instante, los ficheros que se creen tendrán la nueva máscara de permisos. Esta orden será válida hasta que finalice la sesión. Si queremos mantener la máscara entre sesiones, tendremos que colocar la orden umask en un fichero que se lea al comienzo de la sesión (los ficheros de arranque del root y del usuario se verán más adelante).
Si queremos consultar la máscara por omisión en su formato octal, ejecutaremos:
$ umask
0022
y con la opción -S para ver su formato simbólico:
$ umask -S
u=rwx,g=rx,o=rx
Licencia: licencia de software libre GPL