diff options
| author | Adrian Chadd <adrian@FreeBSD.org> | 2003-02-08 08:04:53 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2003-02-08 08:04:53 +0000 |
| commit | 3386ded6a91d065ad30ba98e1476ed2ea8d4ab5b (patch) | |
| tree | f45bfdab6f7f1fffebb03c439b74e4ef0560ef11 /usr.sbin | |
| parent | ac7b094dcaf04d0876dc2150f394c7ccca77c31c (diff) | |
Notes
Diffstat (limited to 'usr.sbin')
| -rw-r--r-- | usr.sbin/adduser/adduser.sh | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/usr.sbin/adduser/adduser.sh b/usr.sbin/adduser/adduser.sh index 96049bd844718..ee47bdde39eca 100644 --- a/usr.sbin/adduser/adduser.sh +++ b/usr.sbin/adduser/adduser.sh @@ -570,8 +570,32 @@ input_interactive() { get_user get_gecos get_uid - get_logingroup - get_groups + + # The case where group = user is handled elsewhere, so + # validate any other groups the user is invited to. + until [ "$_logingroup_ok" = yes ]; do + get_logingroup + _logingroup_ok=yes + if [ -n "$ulogingroup" -a "$username" != "$ulogingroup" ]; then + if ! ${PWCMD} show group $ulogingroup > /dev/null 2>&1; then + echo "Group $ulogingroup does not exist!" + _logingroup_ok=no + fi + fi + done + until [ "$_groups_ok" = yes ]; do + get_groups + _groups_ok=yes + for i in $ugroups; do + if [ "$username" != "$i" ]; then + if ! ${PWCMD} show group $i > /dev/null 2>&1; then + echo "Group $i does not exist!" + _groups_ok=no + fi + fi + done + done + get_class get_shell get_homedir |
