This is a how-to for Terminal-savvy folk interested in having a single iTunes music library and/or a single iPhoto library shared by multiple users (e.g. for a family Mac).

When I went looking for a way to set up shared iTunes/iPhoto, a solution wasn't easy to find. There is an OS X shareware app that does it (and manages libraries). But I thought I would share my solution to the problem in case its useful to others - it requires more OS X knowledge up front, but is simpler overall. No doubt there is an easier way still, but for now this is what I have. Hopefully Apple will make this an out-of-the-box option one day. I'm using it with 10.4.6 and have used with 10.4.4 and 10.4.5, but it should work for any version of Tiger, as ACL's were introduced in 10.4 Tiger.

Part 1:  Overview of the solution
To have multiple users share iTunes or iPhoto, you need to move your iTunes or iPhoto Library directory into a shared directory that every user can access. Then you set access control list (ACL) permissions so the users can all act on the shared directory (standard Unix permissions have umask issues). Once this is done, you create a link for each user who needs to access the shared directory. Sounds a bit tricky, but its not really.

You will end up with one main directory:
/Shared/Music/iTunes (this is the directory where your music collection lives)

And then for each user you have a link:
/Users/Mary/Music/iTunes  --> /Shared/Music/iTunes

After that, iTunes and iPhoto work as normal for all users, you won't notice the difference. Note it means anyone can upload photos/music, and anyone can delete. Security note: you will be putting music and photos into directories accessible to all users on your Mac, so if your photos/music need to be kept secure from other users, don't do this.

Part 2: Step by step instructions for sharing iTunes

Disclaimer: you need to use Terminal and a some shell commands to set this up. While its not really hard or dangerous, this information is presented 'as is', and you should only follow the instructions if you know your way around Terminal and the command line and are happy to sort out any problems that may arise. I can't guarantee it will work for you, and am not offering tech support if it doesn't. Backup first if you are worried. But I've used this approach and it works very well for me.

Note: the $ sign is a symbol for commands to be issued in Terminal (ie. to your OS X shell). Your prompt will usually have text before the $ You should be logged in as the Admin user that created the iTunes library you want to share.

1. Make sure you have your iTunes songs backed up (this isn't a particularly risky process, but backing up is such a good idea anyway!).
2. Start Terminal    (from Finder, Applications)
3. Turn on ACL commands
$ sudo fsaclctl -p / -e
(Note: for your first sudo command, you will be prompted for your Administrator password).
4. Check ACL commands are on
$ sudo fsaclctl -p /
5. Create a shared directory. I use /Shared in this example, but you could use /Users/Shared or another name.
$ mkdir /Shared
$ mkdir /Shared/Music
6. Set open permissions on the new directories
$ chmod 777 /Shared/Music
7. Move your iTunes library across to /Shared/Music. Change directory, check iTunes is there, and then do the move. Note the files don't actually go anywhere, you are just tell OS X to move pointers to the files from one directory to another, so don't worry if the command seems very fast.
$ cd ~/Music
(note: the tilde stands for your home directory)
$ ls -l        (this is where you check that iTunes is in the directory)
$ mv iTunes /Shared/Music
8. Create a symbolic link for the iTunes directory (think of this as being like an Alias)
$ ln -s /Shared/Music/iTunes iTunes
$ ls -l (this is just so you can see what the link is doing - pointing to the other directory) 9. Now set ACL permissions for any other users that need to access the iTunes directory. The example is for a user called Mary, you need to do this for each user (ie repeat the command but replace Mary with each user name). This is quite a long command, check your spelling and make sure you leave spaces where they are needed! $ sudo chmod -R +a "Mary allow read,write,append,delete,list,search,add_subdirectory,delete_child,file_ inherit,directory_inherit" /Shared/Music/iTunes Note: start iTunes to check .. it should work normally. If iTunes can find the music directory, find it manually and point to your Music directory 10. Your now need to switch into Mary's account, and create a symbolic link for her. So login as Mary.
11. Start Terminal (make sure you are now logged in as Mary)
12. If Mary already has an iTunes directory, move it somewhere safe (you can delete it after checking it for files you need to keep).
cd ~/Music
ls -l (this is where you check for an iTunes directory - if its not there, you can skip this next mv)
$ mv iTunes Old_iTunes
13.  Create a symbolic link for Mary
ln -s /Shared/Music/iTunes iTunes
14. Start iTunes for Mary.
iTunes may say it can't find the Music library. If it does, just choose to find it manually, and select your Music, iTunes directory.

Part 3: Sharing iPhoto
The approach is the same except:
ACL commands are already switched on, so you don't need to repeat
You are working with ~/Pictures and /Shared/Pictures instead of ~/ Music and /Shared/Music
You are sharing ~/Pictures/iPhoto Library instead of ~/Music/iTunes
You have to use double quotes around file names with spaces e.g. "iPhoto Library" e.g. $ mv "iPhoto Library" "/Shared/Pictures/iPhoto Library" or $ ln -s "/Shared/Pictures/iPhoto Library" "iPhoto Library"

Part 4: if you want to restore things to the way they were ...
1. Remove symbolic links using the rm command
$ cd ~/Music
$ ls -l      (to list your files and check the link exists)
$ rm iTunes
2. Move your music file back to where it was
$ mv /Shared/Music/iTunes ~/Music
3. Delete all files in Shared/Music and then the Music directory. Caution: rm -R * deletes everything in and below the specified directory!
$ cd /Shared
$ rm -R /Shared/Music/*
$ rmdir Music

Happy sharing, and thanks to Ad Hominen where I first found this ACL based approach documented. http://ad.hominem.org/log/2005/07/ acl.php Its not clear why but this approach didn't work for the iPhoto for the original author, but I haven't had any trouble with it. If you want to find out more about ACL's, try http://maczealots.com/ articles/acl/