diff --git a/lib/debug/config.rb b/lib/debug/config.rb
index 7ffdd741c..6cd23761d 100644
--- a/lib/debug/config.rb
+++ b/lib/debug/config.rb
@@ -425,8 +425,9 @@ def self.check_dir_authority path
     unless (dir_uid = fs.uid) == (uid = Process.uid)
       raise "#{path} uid is #{dir_uid}, but Process.uid is #{uid}"
     end
-    unless (dir_mode = fs.mode) == 040700 # 4: dir, 7:rwx
-      raise "#{path}'s mode is #{dir_mode.to_s(8)} (should be 040700)"
+
+    if fs.world_writable? && !fs.sticky?
+      raise "#{path} is world writable but not sticky"
     end
 
     path