aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMax Howell2012-03-04 02:47:53 +0000
committerMax Howell2012-03-04 02:47:53 +0000
commit60e85f0e8aaae25b1681a62c01342bf601e14606 (patch)
treef5541c0079297a508add62962809d56f50704616 /Library/Homebrew/cmd
parent806097ec8f561a5522130382e6dead0e27982dd5 (diff)
downloadhomebrew-60e85f0e8aaae25b1681a62c01342bf601e14606.tar.bz2
Don't allow `brew link` to be run as sudo
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/link.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb
index d222f3d25..df3445aa5 100644
--- a/Library/Homebrew/cmd/link.rb
+++ b/Library/Homebrew/cmd/link.rb
@@ -2,6 +2,12 @@ module Homebrew extend self
def link
raise KegUnspecifiedError if ARGV.named.empty?
+ if Process.uid.zero? and not File.stat(HOMEBREW_BREW_FILE).uid.zero?
+ # note we only abort if Homebrew is *not* installed as sudo and the user
+ # calls brew as root. The fix is to chown brew to root.
+ abort "Cowardly refusing to `sudo brew link'"
+ end
+
ARGV.kegs.each do |keg|
print "Linking #{keg}... "
puts if ARGV.verbose?