DrunkMunki Posted November 2, 2011 Share Posted November 2, 2011 i have spent the past 2 weeks searching google and have also searched these forums and have found standard responses using Automator and drag drive into login items... But i need to do this for 100+ macs with over 500 Users who will be logging in using a Microsoft ADS bound to a Mac Snow Leopard Server in the city.local forest. We will be rolling out a single mac student image and need help to create a login script on login that will: 1) mount network drive "cty-mac-stu/Users" using AFP on login 2) create a folder (on login if it doesnt exist already) under cty-mac-stu/Users with their username (using "whoami") e.g mount the folder afp://cty-mac-stu/Users/bob 3)make a desktop link of afp://cty-mac-stu/Users/[username] to /Volumes/[username] (using ln -s doesnt work) (is it possible to remove link on logoff???) 4) change/check the permissions of afp://cty-mac-stu/Users/[username] folder so only that user or an admin can access it on the AFP share what I have so far and need help with all 3 items listed above 1) set MyName to do shell script "whoami" tell application "Finder" try mount volume "afp://" & MyName & "@cty-mac-stu/" & MyName & "/ /Volumes/" & MyName & "/" on error display dialog "There was an error mounting the Volume " & MyName & return & return & "Please inform the support staff if the problem continues after a reboot." buttons {"Okay"} default button 1 end try end tell 2) no idea how to do this 3) no idea 4) no idea any help on this would greatly reduce my stress levels and i'm sure would help a lot of people Link to comment Share on other sites More sharing options...
DrunkMunki Posted November 3, 2011 Author Share Posted November 3, 2011 i have fixed some issues; i can now login and it mounts after the user inputs their login details i can create a link to the desktop to their user folder at the moment i cannot find a way to change the permissions of the folder upon creation, e.g since we wipe the share folder every friday at 10pm the users would need to recreate their folders upon next login automatically, at this point i would like the permissions set to only allow the current user access (and admins) also looking into LogoutHook to remove the mounted drives+volumes any ideas and hints/links are welcome code for the working login script currently: set MyName to do shell script "whoami" tell application "Finder" try mount volume "afp://" & MyName & "@cty-mac-stu/" & MyName & "/ /Volumes/" & MyName & "/" on error display dialog "There was an error mounting the Volume " & MyName & return & return & "Please inform the support staff if the problem continues after a reboot." buttons {"Okay"} default button 1 end try end tell Link to comment Share on other sites More sharing options...
DrunkMunki Posted November 3, 2011 Author Share Posted November 3, 2011 what i have so far, the first script works when run manually, but when i look closer i find that it stalls if a folder exists on the /Users/ network share, but runs fine if that folder is missing. is there a way to suppress that error, or skip it if the folder exists? Login Script set MyName to do shell script "whoami" set MountFolder to POSIX file "Volumes/Users/" tell application "Finder" try mount volume "afp://" & MyName & "@cty-mac-stu/Users/ /Volumes/Users/" & MyName & "/" delay 5 if (exists folder MyName of MountFolder) is true then make new folder at MountFolder with properties {name:MyName} end if delay 5 do shell script "ln -s /Volumes/Users/" & MyName & " ~/Desktop" delay 3 do shell script "/bin/chmod 0700 /Volumes/Users/" & MyName & "" end try end tell Logout Script set MyName to do shell script "whoami" try do shell script "/bin/chmod 0700 /Volumes/Users/" & MyName & "" do shell script "rm ~/Desktop/" & MyName & "" delay 3 do shell script "hdiutil eject -force /Volumes/Users " end try Link to comment Share on other sites More sharing options...
DrunkMunki Posted November 4, 2011 Author Share Posted November 4, 2011 ok i have managed to do it on my own, i will post the scripts here to help anyone that may need it int he future. I firstly used a program called Login Logout tasks which loads on startup and executes the login scpt file, and when it closes it executes the logout scpt file. Login Script set MyName to do shell script "whoami" set MountFolder to POSIX file "/Volumes/Users/" tell application "Finder" try mount volume "afp://" & MyName & "@cty-mac-stu/Users/ /Volumes/Users/" & MyName & "/" mount volume "afp://" & MyName & "@cty-mac-stu/common/ /Volumes/common/" delay 2 if (exists folder MyName of MountFolder) is false then make new folder at MountFolder with properties {name:MyName} delay 3 do shell script "ln -s /Volumes/Users/" & MyName & " ~/Desktop" do shell script "ln -s /Volumes/common ~/Desktop" delay 1 do shell script "/bin/chmod 0774 /Volumes/Users/" & MyName & "" do shell script "/bin/chmod 444 ~/Documents" do shell script "/bin/chmod 444 ~/Movies" do shell script "/bin/chmod 444 ~/Music" do shell script "/bin/chmod 444 ~/Pictures" do shell script "/bin/chmod 444 ~/Public" do shell script "/bin/chmod 444 ~/Sites" end if on error delay 3 do shell script "ln -s /Volumes/Users/" & MyName & " ~/Desktop" do shell script "ln -s /Volumes/common ~/Desktop" delay 1 do shell script "/bin/chmod 0774 /Volumes/Users/" & MyName & "" do shell script "/bin/chmod 444 ~/Documents" do shell script "/bin/chmod 444 ~/Movies" do shell script "/bin/chmod 444 ~/Music" do shell script "/bin/chmod 444 ~/Pictures" do shell script "/bin/chmod 444 ~/Public" do shell script "/bin/chmod 444 ~/Sites" end try end tell Logout Script set MyName to do shell script "whoami" do shell script "/bin/chmod 0774 /Volumes/Users/" & MyName & " > dev/null 2>&1 &" do shell script "rm ~/Desktop/" & MyName & " > dev/null 2>&1 &" do shell script "rm ~/Desktop/common > dev/null 2>&1 &" delay 3 do shell script "hdiutil eject -force /Volumes/Users" do shell script "hdiutil eject -force /Volumes/common" Link to comment Share on other sites More sharing options...
Recommended Posts