mod_posix: Don't let the server run as root without the magic run_as_root in config

Sat, 02 May 2009 20:32:43 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 02 May 2009 20:32:43 +0100
changeset 1092
b547967d87fc
parent 1091
5ca2d3a33269
child 1093
5b7b2d2e9a33

mod_posix: Don't let the server run as root without the magic run_as_root in config

plugins/mod_posix.lua file | annotate | diff | comparison | revisions
--- a/plugins/mod_posix.lua	Sat May 02 20:32:17 2009 +0100
+++ b/plugins/mod_posix.lua	Sat May 02 20:32:43 2009 +0100
@@ -14,6 +14,15 @@
 
 module.host = "*"; -- we're a global module
 
+-- 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");
+			_G.prosody_shutdown("Refusing to run as root");
+		end
+	end);
+
 local pidfile_written;
 
 local function remove_pidfile()

mercurial