diff options
author | wosch <wosch@FreeBSD.org> | 1997-09-20 19:59:54 +0000 |
---|---|---|
committer | wosch <wosch@FreeBSD.org> | 1997-09-20 19:59:54 +0000 |
commit | 5d81cfe470eb01a60a65b708ad4e83734c028b47 (patch) | |
tree | 29bde226607dab3db1dd862c21c8c393d12c20f4 /usr.sbin/adduser/adduser.perl | |
parent | 49f61b81dab8b5672243e4243fdfa60ee5e566e8 (diff) | |
download | FreeBSD-src-5d81cfe470eb01a60a65b708ad4e83734c028b47.zip FreeBSD-src-5d81cfe470eb01a60a65b708ad4e83734c028b47.tar.gz |
Do not complain about non existing shell "/nonexistent"
Smarter error check if a uid is already in use.
Submitted by: "Eugene Radchenko" <genie@qsar.chem.msu.su>
Diffstat (limited to 'usr.sbin/adduser/adduser.perl')
-rw-r--r-- | usr.sbin/adduser/adduser.perl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/adduser/adduser.perl b/usr.sbin/adduser/adduser.perl index 9378bf8..56482b9 100644 --- a/usr.sbin/adduser/adduser.perl +++ b/usr.sbin/adduser/adduser.perl @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: adduser.perl,v 1.35 1997/08/26 22:47:51 wosch Exp $ +# $Id: adduser.perl,v 1.36 1997/09/20 18:26:22 wosch Exp $ # read variables @@ -249,7 +249,7 @@ sub passwd_read { if ($verbose && $sh && !$shell{&basename($sh)} && $p_username !~ /^(news|xten|bin|nobody|uucp)$/ && - $sh !~ /\/(pppd|sliplogin|nologin)$/); + $sh !~ /\/(pppd|sliplogin|nologin|nonexistent)$/); $uid{$p_uid} = $p_username; $pwgid{$p_gid} = $p_username; } @@ -369,12 +369,15 @@ sub new_users_id { ! $uid{$u_id_tmp}; if ($uid{$u_id_tmp}) { warn "Uid ``$u_id_tmp'' in use!\a\n"; + $uid_start = $u_id_tmp; + ($u_id, $g_id) = &next_id($name); + next; } else { warn "Wrong uid.\a\n"; } } # use calculated uid - return ($u_id_tmp, $g_id) if $u_id_tmp eq $u_id; + # return ($u_id_tmp, $g_id) if $u_id_tmp eq $u_id; # recalculate gid $uid_start = $u_id_tmp; return &next_id($name); |