diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-06-14 09:52:16 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-06-14 09:52:16 +0200 |
commit | 9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8 (patch) | |
tree | 2728c06eeda0a387f377a99f27d70d48b7367d61 /cpp/src/IceGrid/ServerI.cpp | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2251. Fixed Dwayne's problem (diff) | |
download | ice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.tar.bz2 ice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.tar.xz ice-9eb7e9ef9a63bd2472849fc66ea61ebe44ca57b8.zip |
Fixed bug 2254
Diffstat (limited to 'cpp/src/IceGrid/ServerI.cpp')
-rw-r--r-- | cpp/src/IceGrid/ServerI.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp index 3f8a54df064..27fd7396399 100644 --- a/cpp/src/IceGrid/ServerI.cpp +++ b/cpp/src/IceGrid/ServerI.cpp @@ -1934,10 +1934,12 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) throw "node has insufficient privileges to load server under user account `" + user + "'"; } - if(pw->pw_uid == 0) // Don't allow running proccesses as "root" - { - throw "running server as `root' is not allowed"; - } + + if(pw->pw_uid == 0 && + _node->getCommunicator()->getProperties()->getPropertyAsInt("IceGrid.Node.AllowRunningServersAsRoot") == 0) + { + throw "running server as `root' is not allowed"; + } newUser = _uid != pw->pw_uid || _gid != pw->pw_gid; _uid = pw->pw_uid; |