diff options
author | Olivier Blin <blino@mageia.org> | 2010-11-02 21:09:24 +0000 |
---|---|---|
committer | Olivier Blin <blino@mageia.org> | 2010-11-02 21:09:24 +0000 |
commit | e696d615b8cfb48b227a6d627ccf3bea7eb73667 (patch) | |
tree | 19931957c3c46ec9009659f71748e0398508b07d | |
parent | bf49eb540a181114f19c0fc2679436493f10c595 (diff) | |
download | iurt-e696d615b8cfb48b227a6d627ccf3bea7eb73667.tar iurt-e696d615b8cfb48b227a6d627ccf3bea7eb73667.tar.gz iurt-e696d615b8cfb48b227a6d627ccf3bea7eb73667.tar.bz2 iurt-e696d615b8cfb48b227a6d627ccf3bea7eb73667.tar.xz iurt-e696d615b8cfb48b227a6d627ccf3bea7eb73667.zip |
move uid check in iurt_root_command (and fix checking return code)
-rwxr-xr-x | iurt_root_command | 3 | ||||
-rw-r--r-- | lib/Iurt/Chroot.pm | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/iurt_root_command b/iurt_root_command index 90233a5..45894a5 100755 --- a/iurt_root_command +++ b/iurt_root_command @@ -382,5 +382,6 @@ sub umount { sub useradd { my ($_run, $dir, $username, $o_uid) = @_; check_path_authorized($dir) or return; - return !system('chroot', $dir, 'useradd', if_($o_uid, '-o', '--uid', $o_uid), $username); + return system('chroot', $dir, 'useradd', if_($o_uid, '-o', '--uid', $o_uid), $username) == 0 + || system('chroot', $dir, 'id', $username) == 0; } diff --git a/lib/Iurt/Chroot.pm b/lib/Iurt/Chroot.pm index e23cf6f..e34f21d 100644 --- a/lib/Iurt/Chroot.pm +++ b/lib/Iurt/Chroot.pm @@ -183,7 +183,7 @@ sub add_local_user { # if (system(qq|sudo chroot $chroot_tmp usermod -u $run->{uid} builder|)) { if ($uid) { - if (sudo($run, $config, "--useradd", $chroot_tmp, $luser, $uid) || system("$sudo chroot $chroot_tmp id $luser >/dev/null 2>&1")) { + if (!sudo($run, $config, "--useradd", $chroot_tmp, $luser, $uid)) { plog('ERR', "ERROR: setting userid $uid to $luser in " . "$chroot_tmp failed, checking the chroot"); check_build_chroot($run->{chroot_path}, $run->{chroot_tar}, $run, |