Created
August 6, 2013 06:40
-
-
Save h4rm0n1c/6162562 to your computer and use it in GitHub Desktop.
setbrowserdefaults.sh sets the defaults for the three web browsers I usually include with an OS X deployment.
This will set up Firefox, Chrome and Safari to roughly the same defaults each, using the provided homepage variable. These defaults will also apply to any existing users. WARNING: THIS SCRIPT DELETES ANY EXISTING USER PREFS FOR EACH BROW…
This file contains 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/sh | |
#Change BROWSER_HOMEPAGE to whatever you need, everything else will work as is. | |
BROWSER_HOMEPAGE="http://www.google.com/" | |
## BEGIN FIREFOX | |
if [ -d "/Applications/Firefox.app" ] | |
then | |
#CLear out any imposters, accept no substitutes! | |
rm -f /Applications/Firefox.app/Contents/MacOS/defaults/pref/local-settings.js | |
rm -f /Applications/Firefox.app/Contents/MacOS/mozilla.cfg | |
#firefox prefs - system wide defaults are set inside the app in /Applications/, obviously make sure Firefox is being/has been installed before this script runs. | |
echo "//DO NOT REMOVE THIS LINE | |
pref(\"general.config.obscure_value\",0); | |
pref(\"general.config.filename\",\"mozilla.cfg\");" > /Applications/Firefox.app/Contents/MacOS/defaults/pref/local-settings.js | |
chown root:staff /Applications/Firefox.app/Contents/MacOS/defaults/pref/local-settings.js | |
chmod 744 /Applications/Firefox.app/Contents/MacOS/defaults/pref/local-settings.js | |
echo "//DO NOT REMOVE THIS LINE | |
pref(\"browser.startup.homepage\",\""$BROWSER_HOMEPAGE"\"); | |
pref(\"browser.startup.homepage_reset\",\""$BROWSER_HOMEPAGE"\"); | |
pref(\"browser.shell.checkDefaultBrowser\",false); | |
pref(\"browser.startup.homepage_override.mstone\",\"ignore\"); | |
lockPref(\"network.proxy.type\",5); | |
pref(\"browser.rights.3.shown\",true); | |
lockPref(\"browser.search.suggest.enabled\",false);" > /Applications/Firefox.app/Contents/MacOS/mozilla.cfg | |
chown root:staff /Applications/Firefox.app/Contents/MacOS/mozilla.cfg | |
chmod 744 /Applications/Firefox.app/Contents/MacOS/mozilla.cfg | |
cat << EOF > /Applications/Firefox.app/Contents/MacOS/browser/override.ini | |
[XRE] | |
EnableProfileMigrator=false | |
EOF | |
chown root:staff /Applications/Firefox.app/Contents/MacOS/browser/override.ini | |
chmod 744 /Applications/Firefox.app/Contents/MacOS/browser/override.ini | |
else | |
echo "Firefox not found, no settings to change." | |
fi | |
## END FIREFOX | |
## BEGIN CHROME | |
if [ -d "/Library/Google" ] | |
then | |
echo "Google Library Folder Exists!" | |
else | |
mkdir /Library/Google/ | |
chmod -R 755 /Library/Google/ | |
chown -R root:wheel /Library/Google/ | |
fi | |
#Clear out any imposters, accept no substitutes! | |
rm -f /Library/Google/Google\ Chrome\ Master\ Preferences | |
cat << EOF > /Library/Google/Google\ Chrome\ Master\ Preferences | |
{ | |
"homepage" : "$BROWSER_HOMEPAGE", | |
"homepage_is_newtabpage" : false, | |
"browser" : { | |
"show_home_button" : true, | |
"check_default_browser" : false | |
}, | |
"bookmark_bar" : { | |
"show_on_all_tabs" : true | |
}, | |
"distribution" : { | |
"show_welcome_page" : false, | |
"skip_first_run_ui" : true, | |
"import_history" : false, | |
"import_bookmarks" : false, | |
"import_home_page" : false, | |
"import_search_engine" : false | |
}, | |
"sync_promo" : { | |
"user_skipped" : true | |
}, | |
"first_run_tabs" : [ | |
"$BROWSER_HOMEPAGE" | |
] | |
} | |
EOF | |
chmod 744 /Library/Google/Google\ Chrome\ Master\ Preferences | |
chown root:staff /Library/Google/Google\ Chrome\ Master\ Preferences | |
## END CHROME | |
## START SAFARI | |
# Homepage url | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari HomePage "$BROWSER_HOMEPAGE" | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari HomePage "$BROWSER_HOMEPAGE" | |
# Disable Welcome Animation for first run, get straight down to business | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari LastDisplayedWelcomePageVersionString "6.0.5" | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari LastDisplayedWelcomePageVersionString "6.0.5" | |
# Make new tabs and new windows open the homepage | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari NewTabBehavior -integer 0 | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari NewWindowBehavior -integer 0 | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari NewTabBehavior -integer 0 | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari NewWindowBehavior -integer 0 | |
# New Session every time Safari is opened | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari NSQuitAlwaysKeepsWindows -bool FALSE | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari NSQuitAlwaysKeepsWindows -bool FALSE | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari AutoFillFromAddressBook -bool NO | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari AutoFillMiscellaneousForms -bool NO | |
defaults write /System/Library/User\ Template/Non_localized/Library/Preferences/com.apple.Safari AutoFillPasswords -bool NO | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari AutoFillFromAddressBook -bool NO | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari AutoFillMiscellaneousForms -bool NO | |
defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.Safari AutoFillPasswords -bool NO | |
## END SAFARI | |
## CLEAN UP ANY PREFS FOR EXISTING USERS, SAFARI PREFS CAN BE SET, BUT CHROME AND FIREFOX ARE TOO COMPLEX, SO JUST DELETE THEIR PROFILE DIRECTORIES. | |
## NEEDLESS TO SAY, USERS SHOULD BACK UP THEIR BOOKMARKS BEFORE RUNNING THIS SCRIPT. | |
## THIS SCRIPT WORKS FOR ALL USERS ON THE SYSTEM IN THE DSLOCAL DATABASE | |
_DS_USERS_PATH="/var/db/dslocal/nodes/Default/users/" | |
if [ -e "${_DS_USERS_PATH}" ] | |
then | |
cd "${_DS_USERS_PATH}" | |
for EXTRA_USER in *.plist | |
do | |
if [ ${EXTRA_USER:0:1} != "_" ] | |
then | |
EXTRA_USER_RECORD=`echo ${EXTRA_USER} | sed s/.plist//` | |
EXTRA_USER_HOME=`defaults read "${_DS_USERS_PATH}/${EXTRA_USER_RECORD}" home | awk -F\" '{ print $2 }' | tr -d "\n"` | |
EXTRA_USER_UID=`defaults read "${_DS_USERS_PATH}/${EXTRA_USER_RECORD}" uid | awk -F" " '{ sub(/\(/,"",$1);sub(/\)/,"",$1); print $1 }' | tr -d "\n"` | |
EXTRA_USER_PREFS_PATH="${EXTRA_USER_HOME}/Library/Preferences" | |
EXTRA_USER_APPSUPPORT_PATH="${EXTRA_USER_HOME}/Library/Application\ Support" | |
if [ -d "${EXTRA_USER_PREFS_PATH}" ] | |
then | |
rm -Rf "${EXTRA_USER_APPSUPPORT_PATH}"/Firefox/ | |
rm -Rf "${EXTRA_USER_APPSUPPORT_PATH}"/Google/ | |
defaults write "${EXTRA_USER_PREFS_PATH}"/com.apple.Safari HomePage "$BROWSER_HOMEPAGE" | |
defaults write "${EXTRA_USER_PREFS_PATH}"/com.apple.Safari LastDisplayedWelcomePageVersionString "6.0.5" | |
defaults write "${EXTRA_USER_PREFS_PATH}"/com.apple.Safari NewTabBehavior -integer 0 | |
defaults write "${EXTRA_USER_PREFS_PATH}"/com.apple.Safari NewWindowBehavior -integer 0 | |
defaults write "${EXTRA_USER_PREFS_PATH}"/com.apple.Safari NSQuitAlwaysKeepsWindows -bool FALSE | |
/usr/sbin/chown -R ${EXTRA_USER_UID}:staff "${EXTRA_USER_PREFS_PATH}" | |
/bin/chmod -R 700 "${EXTRA_USER_PREFS_PATH}" | |
fi | |
fi | |
done | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment