Revision: 81630 http://trac.macports.org/changeset/81630 Author: jmr@macports.org Date: 2011-08-02 23:13:57 -0700 (Tue, 02 Aug 2011) Log Message: ----------- return to previous privilege level when done in adduser and addgroup Modified Paths: -------------- trunk/base/src/port1.0/portutil.tcl Modified: trunk/base/src/port1.0/portutil.tcl =================================================================== --- trunk/base/src/port1.0/portutil.tcl 2011-08-03 05:33:54 UTC (rev 81629) +++ trunk/base/src/port1.0/portutil.tcl 2011-08-03 06:13:57 UTC (rev 81630) @@ -2075,6 +2075,7 @@ return } elseif {[geteuid] != 0} { seteuid 0; setegid 0 + set escalated 1 } set passwd {*} @@ -2117,6 +2118,10 @@ ui_warn "adduser is not implemented on ${os.platform}." ui_warn "The requested user '$name' was not created." } + + if {[info exists escalated]} { + dropPrivileges + } } proc addgroup {name args} { @@ -2128,6 +2133,7 @@ return } elseif {[geteuid] != 0} { seteuid 0; setegid 0 + set escalated 1 } set gid [nextgid] @@ -2158,6 +2164,10 @@ ui_warn "addgroup is not implemented on ${os.platform}." ui_warn "The requested group was not created." } + + if {[info exists escalated]} { + dropPrivileges + } } # proc to calculate size of a directory