Définition d’un umask personnalisé sous macOS

Chaque fichier ou dossier de votre Mac est doté d’un ensemble d’autorisations. Lorsque vous créez un fichier ou un dossier, l’umask détermine ces réglages d’autorisation.

À propos des autorisations et des umasks

Ces instructions sont destinées aux utilisateurs Entreprise. Soyez vigilant lorsque vous modifiez des autorisations de fichiers et des umasks. Si vous ne les définissez pas correctement, vous risquez d’abaisser la sécurité des fichiers, dossiers et apps de votre Mac. Certaines apps sont également susceptibles de ne plus fonctionner.

Autorisations

Chaque fichier, dossier et app que vous stockez sur le disque de démarrage d’un Mac, ou sur un volume connecté, dispose de réglages d’autorisation. Ces autorisations déterminent les comptes d’utilisateur habilités à lire, modifier ou exécuter le fichier, le dossier ou l’app. Elles incluent les autorisations POSIX et les listes de contrôle d’accès (ACL). 

Pour rendre les autorisations POSIX d’un utilisateur plus ou moins restrictives, vous pouvez régler leur valeur umask.

Umasks

Un nombre à trois chiffres peut représenter les autorisations POSIX d’un fichier. Vous pouvez voir ce type d’autorisations lorsque vous les visualisez à partir de Terminal. Chaque chiffre peut être compris entre zéro et sept. Lorsque vous créez un fichier ou un dossier, la valeur umask est soustraite d’une valeur par défaut (généralement 666 pour les fichiers et 777 pour les dossiers) pour déterminer les autorisations appropriées.

Par exemple, un umask par défaut de 022 définit des autorisations 644 sur de nouveaux fichiers et 755 sur de nouveaux dossiers. Ces autorisations permettent à des groupes et à des utilisateurs de lire les fichiers et d’ouvrir les dossiers, mais seul le propriétaire peut y apporter des modifications. 

Assurez-vous de bien comprendre ce que sont les umasks avant de poursuivre. Si vous ne définissez pas correctement un umask, vous risquez de perdre l’accès à des fichiers ou d’en accorder l’accès à d’autres utilisateurs. Reportez-vous à la section MODES de la page de manuel chmod(1) pour en savoir plus.

Vous pouvez configurer l’umask dans différents emplacements. Chaque emplacement a une incidence sur des apps différentes.

Umask pour les applications utilisateur sous macOS High Sierra, macOS Sierra, OS X El Capitan et OS X Yosemite

Sous OS X Yosemite 10.10.3 ou version ultérieure, connectez-vous en tant qu’admin et exécutez la commande suivante dans Terminal :

sudo launchctl config user umask nnn

Remplacez nnn par la valeur umask de votre choix, telle que 027 ou 002. Après l’exécution de cette commande, il se peut que vous deviez redémarrer votre Mac.

Cette commande définit l’umask de l’utilisateur pour chaque app qu’il ouvre, telle que le Finder, TextEdit ou Final Cut Pro. Elle définit également son umask pour chaque app à laquelle il accède à partir de la ligne de commande. Cette commande contrôle également les autorisations définies sur les nouveaux fichiers créés par ces apps.

Si le message « Could not write configuration: No such file or Directory » (Impossible d’écrire les données de configuration : fichier ou répertoire inexistant) s’affiche, vérifiez que vous possédez bien un dossier /private/var/db/com.apple.xpc.launchd/config. Si ce dossier est manquant, utilisez la commande suivante pour le créer :

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

Une fois le dossier créé, exécutez à nouveau la commande sudo launchctl config user umask nnn. Pour plus d’informations sur la configuration de l’umask sous OS X Yosemite, exécutez la commande man launchctl.

Umask pour les processus système sous OS X Yosemite

Sous OS X Yosemite 10.10.3 ou version ultérieure, connectez-vous en tant qu’admin et exécutez la commande suivante dans Terminal :

sudo launchctl config system umask nnn

Remplacez nnn par la valeur umask de votre choix, telle que 027 ou 002. Après l’exécution de cette commande, il se peut que vous deviez redémarrer votre Mac.

Cette commande définit l’umask de l’utilisateur pour chaque démon qu’il exécute dans le système. Il est fortement déconseillé de changer cette valeur, car cela risque d’entraîner la modification des autorisations applicables aux fichiers utilisés par le logiciel système. Si vous définissez des autorisations trop restrictives, les logiciels liés risquent de ne pas fonctionner. Si vous définissez des autorisations trop ouvertes, vous risquez de rencontrer des problèmes de sécurité.

Si le message « Could not write configuration: No such file or Directory » (Impossible d’écrire les données de configuration : fichier ou répertoire inexistant) s’affiche, vérifiez que vous possédez bien un dossier /private/var/db/com.apple.xpc.launchd/config. Si ce dossier est manquant, utilisez la commande suivante pour le créer :

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

Pour plus d’informations sur la configuration de l’umask sous OS X Yosemite, exécutez la commande man launchctl.

Umask pour les applications utilisateur sous OS X Mavericks et versions antérieures

Sous OS X Mavericks et versions antérieures, créez un fichier /etc/launchd-user.conf contenant umask nnn. Remplacez nnn par la valeur umask de votre choix, telle que 027 ou 002. Cette commande définit l’umask de l’utilisateur pour chaque app qu’il ouvre, telle que le Finder, TextEdit ou Final Cut Pro. Elle contrôle également les autorisations définies sur les nouveaux fichiers créés par ces apps.

Si vous utilisez OS X Lion, vous devez passer à OS X Lion 10.7.4 ou version ultérieure. Après la mise à jour, l’umask utilisateur s’applique aux fichiers et dossiers créés dans le Finder.

Umask pour les processus système sous OS X Mavericks et versions antérieures

Dans les versions d’OS X antérieures à Yosemite, créez un fichier /etc/launchd.conf contenant umask nnn. Remplacez nnn par la valeur umask de votre choix, telle que 027 ou 002. Vous définissez ainsi l’umask pour tous les processus. Il est fortement déconseillé de changer cette valeur, car cela entraînerait la modification des autorisations applicables aux fichiers utilisés par le logiciel système. Si vous définissez des autorisations trop restrictives, les logiciels liés risquent de ne pas fonctionner. Si vous définissez des autorisations trop ouvertes, vous risquez de rencontrer des problèmes de sécurité.

Umask pour un LaunchAgent ou un LaunchDaemon spécifique

Sous Mac OS X 10.4 ou version ultérieure, les administrateurs avancés peuvent définir un umask séparé pour un LaunchAgent ou un LaunchDaemon spécifique. Pour ce faire, ils ajoutent une valeur umask au fichier launchd plist. Ce réglage remplace le réglage umask de /etc/launchd.conf ou /etc/launchd-user.conf pour ce processus uniquement. Pour plus d’informations sur cette option, exécutez la commande man launchd.plist.

Date de publication: