Here at the school district I was running into a problem where if several Mac OS X wireless clients logged into the network at once, everything slowed down to a crawl. After researching the problem, it looked like the user’s Library and Microsoft User Data folders were causing the problem. I tried turning on OS X’s home folder syncronization, but that didn’t work very well, and filled up our older computers fast. The solution I found was to locally cache the user’s Library and Microsoft User Data folder. To do this, create a symbolic link from the user’s networked ‘Library’ folder and point it to a local source. I chose /tmp/UserCache/username/Library. Here is the login script I created to automate the process:
#! /bin/bash # Create local user caches of important directories # Written by Steven Eppler 04/04/2006 export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin # Set user variable user="$1" # This grabs the user's home directory server input=`dscl localhost read Search/Users/$user NFSHomeDirectory` nethomedir=${input:18} # Or you can hardcode it... # nethomedir="/Network/Servers/ServerName/Volume/$user" # Check for blank nethomedir - otherwise you will delete # the root /Library folder! if [ """$nethomedir""" != "" ]; then echo $user echo $nethomedir # Create local caching directories mkdir /tmp/UserCache mkdir /tmp/UserCache/$user mkdir /tmp/UserCache/$user/Microsoft\ User\ Data mkdir /tmp/UserCache/$user/Library # Give everyone rights to them... chmod -R ugo=rwx /tmp/UserCache # Create Documents and Desktop folder (sometimes they don't exist) mkdir $nethomedir/Documents mkdir $nethomedir/Desktop # Delete old folders or links rm -rf $nethomedir/Library rm -rf $nethomedir/Documents/Microsoft\ User\ Data # Create new links ln -s /tmp/UserCache/$user/Library $nethomedir/Library ln -s /tmp/UserCache/$user/Microsoft\ User\ Data $nethomedir/Documents/Microsoft\ User\ Data fi
Hi, long shot here since it looks like you haven’t done a blog entry in a while, but how do do a login script for OS X when using a Win2003 server?
You won’t be able to send one down from Win2003 (as far as I know) but you can create local scripts by creating a login hook.
A program to easily create a login hook can be found here:
http://www.bombich.com/software/lwm.html
Thanks,
Steven
Ok, I am an idiot, how do I use this?