Share iPhoto libraries with multiple users on one machine

Sep 26, '03 09:04:00AM

Contributed by: Ptitboul

In my home computer, I wanted separate user accounts for my wife and myself, but I also wanted to have a single iPhoto library shared by the two users. Here is the trick.

  1. You have to change iPhoto's umask setting. After backing up iPhoto, type the following commands:
     % mv /Applications/iPhoto.app/Contents/MacOS/iPhoto \
       /Applications/iPhoto.app/Contents/MacOS/iPhoto.bin
     % printf '#!/bin/sh\numask 002\nexec $0.bin\n' > \
       /Applications/iPhoto.app/Contents/MacOS/iPhoto
     % chmod +x /Applications/iPhoto.app/Contents/MacOS/iPhoto
  2. Make one of the users launch iPhoto. This will create a /Users -> toto -> Pictures -> iPhoto Library directory. Quit iPhoto and type the following commands:
     % chmod g+s "/Users/toto/Pictures/iPhoto Library"
     % mv "/Users/toto/Pictures/iPhoto Library" /Users/Shared
  3. Launch iPhoto and tell it to use the iPhoto Library at its new location (it will ask when it can't find the one it originally created).
  4. Have the other user launch iPhoto. Quit iPhoto. Delete the /Users -> tata -> Pictures -> iPhoto Library directory. Lauch iPhoto and again tell it use the shared iPhoto Library.
If you have more than those two users on your computer, and you don't want that these other users to be able to change data in the iPhoto Library, it gets a bit more complicated.
  1. Change the NetInfo database to create a group named "iphoto" and make toto and tata members of this group.
  2. Change the group ownership of the shared iPhoto Library by typing:
     % chgrp -R iphoto "/Users/Shared/iPhoto Library"
[robg adds: I haven't tested this one...]

Comments (12)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20030925091034677