Sie sind auf Seite 1von 2

Hace un tiempo, publiqué una entrada en la que explicaba cómo se utilizan los permisos UNIX en

el sistema de archivos de cualquier distribución Linux. Ahora bien, allí explicaba que la forma de
asignar los permisos usando la terminal es el comando chmod sobre los archivos cuyos permisos
nos interese modificar y chown para cambiar quién es su dueño y a qué grupo se asigna. Los
permisos que el sistema asigna predeterminadamente al crear un archivo o directorio son
bastante aceptables para un usuario corriente, pero en caso de que estos no sean los deseados,
cambiarlos cada vez que se crea un archivo puede ser, además de molesto, algo muy sencillo de
olvidar. Por eso hoy os explico cómo cambiar qué permisos predeterminados asigna el sistema a
los archivos, usado umask, que más que un comando es más bien un concepto básico de cualquier
sistema basado o inspirado en UNIX como son los sistemas GNU/Linux.

Si creamos un archivo cualquiera en una distrubución Linux cualquiera, veremos que


automáticamente se le asignarán los siguientes permisos: escritura y lectura para el dueño, lectura
para el grupo al cual pertenezca el archivo (normalmente el grupo del dueño) y lectura para el
resto de usuarios (644 en notación octal). A los directorios, por otra parte, se les asigna los mismos
permisos añadiendo a todos el permiso de ejecución (esto es, obtienen permisos 755 en notación
octal). Como ya he dicho, estos son permisos que, por ejemplo, en un sistema utilizado por un
único usuario no hay absolutamente ningún problema, pero en un sistema compartido con más de
un usuario puede ser interesante, por ejemplo, que se asignen permisos más restringidos a los
archivos y directorios en cuanto se crean.

1. El filtro umask

Para conseguir lo que queremos usaremos un comando, umask, cuya función es filtrar los
permisos que no queremos a partir de la combinación de permisos totales. Para entender esto
mejor, tenéis que saber que el comportamiento predeterminado que he descrito arriba (644 para
archivos y 755 para directorios) se produce porque las distribuciones Linux usan normalmente
umask con el valor 022, esto es, el sistema resta 022 a 666 en archivos y a 777 en directorios para
que den los resultados respectivos que he dado arriba. La idea de “filtro” procede justamente del
hecho de que se resten permisos a partir de un origen que engloba todos los posibles: imaginadlo
como un filtro que no permite que “pasen” ciertos permisos al resultado final. Así pues, un umask
de 000 (“no filtrar”) dejaría los archivos en 666 y los directorios en 777, lo cual es una
irresponsabilidad total que, como decía la Diosa en el Poema de Parménides, “no te permito ni
que la digas ni que la pienses”.

Hagamos un pequeño experimento para entender mejor cómo funciona esto. En una terminal,
invocad umask sin ningún valor para saber qué filtro se está aplicando en estos momentos. Lo
normal, si no habéis tocado nunca umask, es que la terminal muestre lo siguiente:

$ umask
0022

Das könnte Ihnen auch gefallen