Created
April 27, 2018 13:51
-
-
Save MSylvia/25bbd19fab32cfcfa3fcd798b3c0f114 to your computer and use it in GitHub Desktop.
check Rich's updated version of this at https://gist.github.com/rtrouton/8016797
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#variables | |
DSCL="/usr/bin/dscl" | |
SECURITY="/usr/bin/security" | |
LOGGER="/usr/bin/logger" | |
OSREL=`/usr/bin/uname -r | cut -f 1 -d '.'`; | |
case "${OSREL}" in | |
10) | |
#Mac OS X Snow Leopard | |
${LOGGER} -s -t createmyguest.sh "INFO: executing the 10.6 version of the script" | |
${DSCL} . -create /Users/myguest | |
${DSCL} . -create /Users/myguest UserShell /bin/bash | |
${DSCL} . -create /Users/myguest RealName "Guest Account" | |
${DSCL} . -create /Users/myguest UniqueID 201 | |
${DSCL} . -create /Users/myguest PrimaryGroupID 201 | |
${DSCL} . -create /Users/myguest NFSHomeDirectory /Users/Guest | |
${DSCL} . -create /Users/myguest RecordType dsRecTypeStandard:Users | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_defaultLanguage en | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_guest true | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers__defaultLanguage Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_jpegphoto Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_LinkedIdentity Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_picture Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_UserCertificate Guest | |
${DSCL} . -create /Users/myguest AppleMetaNodeLocation /Local/Default | |
#setting up an empty password and giving local Kerberos some time to process it | |
${DSCL} . -passwd /Users/myguest '' | |
sleep 2 | |
;; | |
11) | |
#OS X Lion | |
${DSCL} . -create /Users/myguest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_defaultLanguage en | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_guest true | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers__defaultLanguage Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_LinkedIdentity Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_UserCertificate Guest | |
${DSCL} . -create /Users/myguest AuthenticationHint '' | |
${DSCL} . -create /Users/myguest NFSHomeDirectory /Users/Guest | |
#setting up an empty password and giving local Kerberos some time to process it | |
${DSCL} . -passwd /Users/myguest '' | |
sleep 2 | |
${DSCL} . -create /Users/myguest Picture "/Library/User Pictures/Nature/Leaf.tif" | |
${DSCL} . -create /Users/myguest PrimaryGroupID 201 | |
${DSCL} . -create /Users/myguest RealName "Local Guest" | |
${DSCL} . -create /Users/myguest RecordName myguest | |
#Lion does not like two users with same UUID so don't use 201 on the next line | |
${DSCL} . -create /Users/myguest UniqueID 401 | |
${DSCL} . -create /Users/myguest UserShell /bin/bash | |
#Adding the keychain item that allows Guest to login in 10.7 | |
${SECURITY} add-generic-password -a myguest -s com.apple.loginwindow.guest-account -D "application password" /Library/Keychains/System.keychain | |
;; | |
12) | |
#OS X Mountain Lion | |
${LOGGER} -s -t createmyguest.sh "INFO: executing the 10.8 version of the script" | |
${DSCL} . -create /Users/myguest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_defaultLanguage en | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_guest true | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers__defaultLanguage Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_UserCertificate Guest | |
${DSCL} . -create /Users/myguest AuthenticationHint '' | |
${DSCL} . -create /Users/myguest NFSHomeDirectory /Users/Guest | |
#setting up an empty password and giving local Kerberos some time to process it | |
${DSCL} . -passwd /Users/myguest '' | |
sleep 2 | |
${DSCL} . -create /Users/myguest Picture "/Library/User Pictures/Nature/Leaf.tif" | |
${DSCL} . -create /Users/myguest PrimaryGroupID 201 | |
${DSCL} . -create /Users/myguest RealName "Local Guest" | |
${DSCL} . -create /Users/myguest RecordName myguest | |
#OS X does not like two users with same UUID so don't use 201 on the next line | |
${DSCL} . -create /Users/myguest UniqueID 401 | |
${DSCL} . -create /Users/myguest UserShell /bin/bash | |
#Adding the keychain item that allows Guest to login in 10.8 | |
${SECURITY} add-generic-password -a myguest -s com.apple.loginwindow.guest-account -D "application password" /Library/Keychains/System.keychain | |
;; | |
13) | |
#OS X Maveriks | |
${LOGGER} -s -t createmyguest.sh "INFO: executing the 10.9 version of the script" | |
${DSCL} . -create /Users/myguest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_defaultLanguage en | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_guest true | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers__defaultLanguage Guest | |
${DSCL} . -create /Users/myguest dsAttrTypeNative:_writers_UserCertificate Guest | |
${DSCL} . -create /Users/myguest AuthenticationHint '' | |
${DSCL} . -create /Users/myguest NFSHomeDirectory /Users/Guest | |
#setting up an empty password and giving local Kerberos some time to process it | |
${DSCL} . -passwd /Users/myguest '' | |
sleep 2 | |
${DSCL} . -create /Users/myguest Picture "/Library/User Pictures/Nature/Leaf.tif" | |
${DSCL} . -create /Users/myguest PrimaryGroupID 201 | |
${DSCL} . -create /Users/myguest RealName "Local Guest" | |
${DSCL} . -create /Users/myguest RecordName myguest | |
#OS X does not like two users with same UUID so don't use 201 on the next line | |
${DSCL} . -create /Users/myguest UniqueID 401 | |
${DSCL} . -create /Users/myguest UserShell /bin/bash | |
#Adding the keychain item that allows Guest to login in 10.9 | |
${SECURITY} add-generic-password -a myguest -s com.apple.loginwindow.guest-account -D "application password" /Library/Keychains/System.keychain | |
;; | |
*) | |
#Any other version | |
${LOGGER} -s -t createmyguest.sh "ERROR: Operating system version not supported by this script" | |
exit -1;; | |
esac | |
${LOGGER} -s -t createmyguest.sh "INFO: Exiting" | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment