Permalink
Browse files

problem: don't want to run my server as root to bind to privileged po…

…rts (e.g. 80, 443).

solution: support privilege drop after socket bind via new --user <username> parameter.
  • Loading branch information...
niallo authored and indexzero committed Feb 27, 2012
1 parent 89d43c2 commit 2c3650746cd90fed63b140a8d393e18bd35cd8f9
Showing with 10 additions and 0 deletions.
  1. +10 −0 bin/node-http-proxy
View
@@ -17,6 +17,7 @@ var help = [
" --target HOST:PORT Location of the server the proxy will target",
" --config OUTFILE Location of the configuration file for the proxy server",
" --silent Silence the log output from the proxy server",
+ " --user USER User to drop privileges to once server socket is bound",
" -h, --help You're staring at it"
].join('\n');
@@ -28,6 +29,7 @@ var location, config = {},
port = argv.port || 80,
host = argv.host || undefined,
target = argv.target;
+ user = argv.user;
//
// If we were passed a config, parse it
@@ -85,6 +87,14 @@ if (host) {
server.listen(port);
}
+
+//
+// Drop privileges if requested
+//
+if (typeof user === 'string') {
+ process.setuid(user);
+}
+
//
// Notify that the server is started
//

0 comments on commit 2c36507

Please sign in to comment.