Configurar una máscara personalizada en macOS

Todos los archivos y carpetas del Mac tienen una serie de permisos. Cuando creas un archivo o una carpeta nuevos, la máscara determina estos permisos.

Acerca de los permisos y las máscaras

Estas instrucciones se han ideado para los usuarios de empresas. Ten cuidado al cambiar los permisos y las máscaras de los archivos. Si los configuras incorrectamente, puedes reducir el nivel de seguridad de los archivos, carpetas o apps del Mac. Algunas apps también podrían dejar de funcionar.

Permisos

Todos los archivos, carpetas y apps que guardes en el disco de arranque o en un volumen conectado al Mac tienen ajustes de permisos. Los permisos determinan qué cuentas de usuario pueden leer, escribir o ejecutar un archivo, carpeta o app. Entre estos permisos se incluyen los permisos POSIX y las listas de control de acceso (ACL). 

Para hacer que los permisos POSIX de un usuario sean más o menos restrictivos, puedes ajustar el valor de la máscara.

Máscaras

Un número de tres dígitos puede representar los permisos POSIX de un archivo. Puede que veas los permisos de este modo al visualizarlos en Terminal. Los dígitos son entre cero y siete. Cuando se crea un archivo, el valor de máscara se resta del valor por omisión (normalmente 666 para archivos y 777 para carpetas) a fin de determinar los permisos del nuevo archivo o la nueva carpeta.

Por ejemplo, la máscara por omisión de 022 define permisos de 644 en los archivos nuevos y de 755 en las carpetas nuevas. Estos permisos permiten a grupos y otros usuarios leer los archivos y abrir las carpetas, pero solo el propietario puede realizar cambios. 

Asegúrate de que entiendes cómo funcionan las máscaras antes de continuar. Si defines una máscara de forma incorrecta, puede que pierdas acceso a archivos o se lo concedas a otros usuarios sin darte cuenta. Consulta la sección MODES de la página del manual chmod(1) para obtener más información.

Puedes definir la máscara en varias ubicaciones distintas. Cada ubicación afecta a apps diferentes.

Máscaras para aplicaciones de usuario en macOS High Sierra, OS X El Capitan y OS X Yosemite

En OS X Yosemite 10.10.3 y posterior, inicia sesión como administrador y ejecuta este comando en Terminal:

sudo launchctl config user umasknnn

Sustituye nnn por el valor de máscara que quieras, como 027 o 002. Después de ejecutar este comando, es posible que tengas que reiniciar el Mac.

Este comando define una máscara de usuario para todas las apps que abra, como el Finder, TextEdit o Final Cut Pro. Además, define su máscara para cada app a la que acceda desde la línea de comandos. Este comando también controla los permisos definidos en los archivos nuevos que creen estas apps.

Si ves el mensaje “No se ha podido escribir la configuración: No existe este archivo o directorio”, asegúrate de que tienes la carpeta /private/var/db/com.apple.xpc.launchd/config. Si no tienes esta carpeta, usa este comando para crearla:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Cuando hayas creado esta carpeta, vuelve a ejecutar el comando sudo launchctl config user umask nnn. Para obtener más información sobre cómo definir una máscara en OS X Yosemite, ejecuta el comando man launchctl.

Máscara para procesos del sistema en OS X Yosemite

En OS X Yosemite 10.10.3 y posterior, inicia sesión como administrador y ejecuta este comando en Terminal:

sudo launchctl config system umask nnn

Sustituye nnn por el valor de máscara que quieras, como 027 o 002. Después de ejecutar este comando, es posible que tengas que reiniciar el Mac.

Este comando define la máscara de usuario para cada daemon que ejecute en el contexto del sistema. Se desaconseja cambiar este valor porque podría cambiar los permisos de archivos usados por el software del sistema. Si los permisos son demasiado restrictivos, puede que el software dependiente no funcione. Si los permisos son demasiado laxos, puede que se produzcan problemas de seguridad.

Si ves el mensaje “No se ha podido escribir la configuración: No existe este archivo o directorio”, asegúrate de que tienes la carpeta /private/var/db/com.apple.xpc.launchd/config. Si no tienes esta carpeta, usa este comando para crearla:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Para obtener más información sobre cómo definir una máscara en OS X Yosemite, ejecuta el comando man launchctl.

Máscaras para aplicaciones de usuario en OS X Mavericks y anterior

En OS X Mavericks y anterior, crea un archivo /etc/launchd-user.conf que contenga umask nnn. Sustituye nnn por el valor de máscara que quieras, como 027 o 002. Esto define una máscara de usuario para todas las apps que abra, como el Finder, TextEdit o Final Cut Pro. También controla los permisos definidos en los archivos nuevos que creen estas apps.

Si utilizas OS X Lion, debes actualizar a OS X Lion 10.7.4 o posterior. Cuando hayas actualizado, la máscara de usuario se aplicará a los archivos y carpetas que se creen en el Finder.

Máscaras para procesos del sistema en OS X Mavericks y anterior

En versiones de OS X anteriores a Yosemite, crea un archivo /etc/launchd.conf que contenga umasknnn. Sustituye nnn por el valor de máscara que quieras, como 027 o 002. Esto define una máscara para todos los procesos. Se desaconseja cambiar este valor porque cambia los permisos de archivos usados por el software del sistema. Si los permisos son demasiado restrictivos, puede que el software dependiente no funcione. Si los permisos son demasiado laxos, puede que se produzcan problemas de seguridad.

Máscara de usuario para un LaunchAgent o un LaunchDaemon concreto

En Mac OS X 10.4 y posterior, los administradores avanzados pueden definir una máscara aparte para un LaunchAgent o un LaunchDaemon concreto. Para hacerlo, añaden un valor de máscara al archivo plist de launchd. Este ajuste anula el ajuste de la máscara en /etc/launchd.conf o /etc/launchd-user.conf solo para ese proceso. Para obtener más información sobre esta opción, ejecuta el comando man launchd.plist.

Fecha de publicación: