From e4db0adf547d47b71c3feeb98daeedf8acb67274 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Thu, 14 May 2015 00:48:49 +0100 Subject: doctor: add homebrew_temp sticky bit check Adds a small check to the Doctor command to ensure HOMEBREW_TEMP has a sticky bit set. This has become a significant issue lately. Closes Homebrew/homebrew#39735 Original issue: Homebrew/homebrew#39170 Closes Homebrew/homebrew#39739. Signed-off-by: Mike McQuaid --- Library/Homebrew/cmd/doctor.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 4d253e639..fdfcacb43 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -419,6 +419,16 @@ def check_access_usr_local end end +def check_tmpdir_sticky_bit + world_writable = HOMEBREW_TEMP.stat.mode & 0777 == 0777 + if world_writable && !HOMEBREW_TEMP.sticky? then <<-EOS.undent + #{HOMEBREW_TEMP} is world-writable but does not have the sticky bit set. + Please run "Repair Disk Permissions" in Disk Utility. + EOS + end +end + + (Keg::TOP_LEVEL_DIRECTORIES + ["lib/pkgconfig"]).each do |d| define_method("check_access_#{d.sub("/", "_")}") do dir = HOMEBREW_PREFIX.join(d) -- cgit v1.2.3