diff options
Diffstat (limited to 'plugins/mod_posix.lua')
-rw-r--r-- | plugins/mod_posix.lua | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/plugins/mod_posix.lua b/plugins/mod_posix.lua index a0830d82..0184ef36 100644 --- a/plugins/mod_posix.lua +++ b/plugins/mod_posix.lua @@ -40,10 +40,13 @@ module:add_event_hook("server-started", function () -- Don't even think about it! module:add_event_hook("server-starting", function () - if pposix.getuid() == 0 and not config_get("*", "core", "run_as_root") then - module:log("error", "Danger, Will Robinson! Prosody doesn't need to be run as root, so don't do it!"); - module:log("error", "For more information on running Prosody as root, see http://prosody.im/doc/root"); - prosody.shutdown("Refusing to run as root"); + local suid = config_get("*", "core", "setuid"); + if not suid or suid == 0 or suid == "root" then + if pposix.getuid() == 0 and not config_get("*", "core", "run_as_root") then + module:log("error", "Danger, Will Robinson! Prosody doesn't need to be run as root, so don't do it!"); + module:log("error", "For more information on running Prosody as root, see http://prosody.im/doc/root"); + prosody.shutdown("Refusing to run as root"); + end end end); |