Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install Brew and set up for Standard OSX User
#!/usr/bin/env bash
# This script installs brew and chowns the right directories needed to run
# brew as a standard user. Your user should be the owner of /usr/local which
# gets set during the installation of brew. The global homebrew cache directory
# group should be set to 'staff' which is not set during a brew install. This
# script fixes that.
# To begin, you MUST execute this script with your user account while it has
# admin privileges. Once the script completes, you can change your
# user to a "standard" OSX user and retain use of brew without being an admin.
# The user executing the script.
username=`id -u -n`
# Install latest stable version of brew.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Update group ownership of global brew cache.
echo "Changing group ownership of /Library/Caches/Homebrew to staff..."
sudo chgrp staff /Library/Caches/Homebrew
sudo chown -Rv $username /usr/local
# Remove admin rights from current user. This is how you could make this
# change from the cli.
# sudo dseditgroup -o edit -d $USER -t user admin
# Tell user to remove admin rights and restart.
echo "Congrats! Brew is properly set up for a Standard OSX user. You can remove admin rights from your user account and restart."
@sscovil

This comment has been minimized.

Copy link

sscovil commented Nov 23, 2015

I had to use the -Rv flag to chown the /usr/local directory recursively, otherwise my standard user could not create directories.

@kevinkarwaski

This comment has been minimized.

Copy link
Owner Author

kevinkarwaski commented Mar 7, 2016

@sscovil good catch, thanks man.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.