This is one of those I-keep-forgetting-how-to-do-this posts, so I'm writing it down. It's certainly been posted elsewhere, but I'm tired of going looking every time I need it. So here it is.
In Tiger a simple
defaults command could be used to modify a user's
umask (a setting that controls the default permissions for newly created files and folders). Leopard, however, changes the way this is done. Leopard instead uses a
launchd configuration file. To create a custom
umask for all users of a system (i.e. all user-level processes):
- Create a file called
- Place the file in
- Enter the property, then the
umasksetting in the file, like so:
- Restart the machine.
The restart may not be necessary, but if I recall it was the only way I could get it to work. If you don't want to reboot, you'll at least need to restart
launchd and any application or process you want to use the new setting. Rebooting, though, is a nice catch-all.
Some additional info: if you want virtually all applications (i.e. system-level processes) to use a custom
umask, you can leave the "user" off the file name. Using
/etc/launchd.conf will have said affect, but it is not recommended by Apple (or me for that matter).
Setting a custom
umask in general isn't something I recommend either, but it's damn handy in certain file sharing environments in which multiple users need access to the same stuff, but where ACLs — the preferred method for setting up complex file sharing permission sets — aren't an option. Creating a common group for the users and setting up their
umask to create files and folders that are group-writable is an acceptable workaround in many scenarios. Which, by the way, is what the above setting will do. A
002 will create files with permissions of
775 (the opposite of
002 — it's a mask, silly).
Okay then. Happy