| 2369 | | if { [getuid] == 0 && [geteuid] == [name_to_uid "$macportsuser"] } { |
| 2370 | | # if started with sudo but have dropped the privileges |
| 2371 | | seteuid $euid |
| 2372 | | ui_debug "euid changed to: [geteuid]" |
| 2373 | | chown ${path} ${macportsuser} |
| 2374 | | ui_debug "chowned $path to $macportsuser" |
| 2375 | | seteuid [name_to_uid "$macportsuser"] |
| 2376 | | ui_debug "euid changed to: [geteuid]" |
| 2377 | | } elseif { [getuid] == 0 } { |
| 2378 | | # if started with sudo but have elevated back to root already |
| 2379 | | chown ${path} ${macportsuser} |
| | 2369 | if { [getuid] == 0 } { |
| | 2370 | if {[geteuid] != 0} { |
| | 2371 | # if started with sudo but have dropped the privileges |
| | 2372 | seteuid $euid |
| | 2373 | ui_debug "euid changed to: [geteuid]" |
| | 2374 | chown ${path} ${macportsuser} |
| | 2375 | ui_debug "chowned $path to $macportsuser" |
| | 2376 | seteuid [name_to_uid "$macportsuser"] |
| | 2377 | ui_debug "euid changed to: [geteuid]" |
| | 2378 | } else { |
| | 2379 | # if started with sudo but have elevated back to root already |
| | 2380 | chown ${path} ${macportsuser} |
| | 2381 | } |
| 2410 | | ui_debug "changing euid/egid - current euid: $euid - current egid: $egid" |
| 2411 | | |
| 2412 | | #seteuid [name_to_uid [file attributes $workpath -owner]] |
| 2413 | | #setegid [name_to_gid [file attributes $workpath -group]] |
| 2414 | | |
| 2415 | | setegid [uname_to_gid "$macportsuser"] |
| 2416 | | seteuid [name_to_uid "$macportsuser"] |
| 2417 | | ui_debug "egid changed to: [getegid]" |
| 2418 | | ui_debug "euid changed to: [geteuid]" |
| | 2410 | if {[name_to_uid "$macportsuser"] != 0} { |
| | 2411 | ui_debug "changing euid/egid - current euid: $euid - current egid: $egid" |
| | 2412 | |
| | 2413 | #seteuid [name_to_uid [file attributes $workpath -owner]] |
| | 2414 | #setegid [name_to_gid [file attributes $workpath -group]] |
| | 2415 | |
| | 2416 | setegid [uname_to_gid "$macportsuser"] |
| | 2417 | seteuid [name_to_uid "$macportsuser"] |
| | 2418 | ui_debug "egid changed to: [getegid]" |
| | 2419 | ui_debug "euid changed to: [geteuid]" |
| | 2420 | } |