Date: Mon, 20 Jul 1998 19:30:00 -0700 (PDT) From: AnnMarie Scott <annmarie@afct.org.au> To: freebsd-bugs@FreeBSD.ORG Subject: Re: bin/7324: Suggestions for minor modifications to adduser Message-ID: <199807210230.TAA06969@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/7324; it has been noted by GNATS. From: AnnMarie Scott <annmarie@afct.org.au> To: freebsd-gnats-submit@freebsd.org Cc: Subject: Re: bin/7324: Suggestions for minor modifications to adduser Date: Tue, 21 Jul 1998 11:46:12 +0930 This is a multi-part message in MIME format. --------------29D9A70BEDD10329564E7CC1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Argh. Sent the wrong patch file! Here's the _right_ one. --------------29D9A70BEDD10329564E7CC1 Content-Type: text/plain; charset=us-ascii; name="adduser.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="adduser.patch" *** adduser Wed Jul 8 11:17:55 1998 --- adduser.new Wed Jul 8 11:55:49 1998 *************** *** 34,38 **** $dotdir = "/usr/share/skel"; # copy dotfiles from this dir $dotdir_bak = $dotdir; ! $send_message = "no"; # send message to new user $send_message_bak = '/etc/adduser.message'; $config = "/etc/adduser.conf"; # config file for adduser --- 34,39 ---- $dotdir = "/usr/share/skel"; # copy dotfiles from this dir $dotdir_bak = $dotdir; ! $send_message = "no"; # send message to new user ! $cc = "no"; # send cc of message $send_message_bak = '/etc/adduser.message'; $config = "/etc/adduser.conf"; # config file for adduser *************** *** 255,259 **** # read /etc/group sub group_read { ! local($g_groupname,$pw,$g_gid, $memb); print "Check $group\n" if $verbose; --- 256,260 ---- # read /etc/group sub group_read { ! local($g_groupname,$g_pw,$g_gid, $memb); print "Check $group\n" if $verbose; *************** *** 262,266 **** chop; push(@group_backup, $_); ! ($g_groupname, $pw, $g_gid, $memb) = (split(/:/, $_))[0..3]; $groupmembers{$g_gid} = $memb; --- 263,267 ---- chop; push(@group_backup, $_); ! ($g_groupname, $g_pw, $g_gid, $memb) = (split(/:/, $_))[0..3]; $groupmembers{$g_gid} = $memb; *************** *** 271,274 **** --- 272,276 ---- if $gid{$g_gid} && $verbose; $gid{$g_gid} = $g_groupname; + $gpass{$g_gid} = $g_pw; } close G; *************** *** 538,542 **** Class: $class Groups: $group_login $new_groups ! HOME: $home/$name Shell: $sh EOF --- 540,544 ---- Class: $class Groups: $group_login $new_groups ! HOME: $homedir Shell: $sh EOF *************** *** 564,568 **** if (!defined($groupname{$group_login}) && !defined($gid{$groupname{$group_login}})) { ! push(@group_backup, "$group_login:*:$g_id:"); $groupname{$group_login} = $g_id; $gid{$g_id} = $group_login; --- 566,570 ---- if (!defined($groupname{$group_login}) && !defined($gid{$groupname{$group_login}})) { ! push(@group_backup, "$group_login:$gpass{$g_id}:$g_id:"); $groupname{$group_login} = $g_id; $gid{$g_id} = $group_login; *************** *** 578,586 **** #warn "$group_login $groupname{$group_login} $groupmembers{$groupname{$group_login}}\n"; foreach $e (sort {$a <=> $b} (keys %gid)) { ! push(@a, "$gid{$e}:*:$e:$groupmembers{$e}"); } &append_file($group, @a); } else { ! &append_file($group, "$group_login:*:$g_id:"); } --- 580,588 ---- #warn "$group_login $groupname{$group_login} $groupmembers{$groupname{$group_login}}\n"; foreach $e (sort {$a <=> $b} (keys %gid)) { ! push(@a, "$gid{$e}:$gpass{$e}:$e:$groupmembers{$e}"); } &append_file($group, @a); } else { ! &append_file($group, "$group_login:$gpass{$g_id}:$g_id:"); } *************** *** 601,605 **** local($cc) = &confirm_list("Send message to ``$name'' and:", ! 1, "no", ("root", "second_mail_address", "no")); local($e); $cc = "" if $cc eq "no"; --- 603,607 ---- local($cc) = &confirm_list("Send message to ``$name'' and:", ! 1, "$cc", ("root", "$cc", "no")); local($e); $cc = "" if $cc eq "no"; *************** *** 705,709 **** $new_groups = &new_users_groups($name, $new_groups); $password = &new_users_password; ! if (&new_users_ok) { --- 707,712 ---- $new_groups = &new_users_groups($name, $new_groups); $password = &new_users_password; ! # allow "nohome" for dummy user homedirs ! $homedir = ($home =~ /nohome/) ? $home : "$home/$name"; if (&new_users_ok) { *************** *** 714,718 **** # obscure perl bug $new_entry = "$name\:" . "$cryptpwd" . ! "\:$u_id\:$g_id\:$class\:0:0:$fullname:$home/$name:$sh"; &append_file($etc_passwd, "$new_entry"); &new_users_pwdmkdb("$new_entry"); --- 717,721 ---- # obscure perl bug $new_entry = "$name\:" . "$cryptpwd" . ! "\:$u_id\:$g_id\:$class\:0:0:$fullname:$homedir:$sh"; &append_file($etc_passwd, "$new_entry"); &new_users_pwdmkdb("$new_entry"); *************** *** 721,725 **** &new_users_sendmessage; &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname"); ! &home_create($name, $group_login); } else { $new_users_ok = 0; --- 724,728 ---- &new_users_sendmessage; &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname"); ! &home_create($name, $group_login) if $homedir !~ /nohome/; } else { $new_users_ok = 0; *************** *** 739,742 **** --- 742,747 ---- $defaultshell = &shell_default_valid($defaultshell); return 0 unless $home = &home_partition_valid($home); + # allow "nohome" for dummy user homedirs + $homedir = ($home =~ /nohome/) ? $home : "$home/$name"; return 0 if $dotdir ne &dotdir_default_valid($dotdir); $send_message = &message_default; *************** *** 756,767 **** # obscure perl bug $new_entry = "$name\:" . "$cryptpwd" . ! "\:$u_id\:$g_id\:$class\:0:0:$fullname:$home/$name:$sh"; &append_file($etc_passwd, "$new_entry"); &new_users_pwdmkdb("$new_entry"); &new_users_group_update; &new_users_passwd_update; print "Added user ``$name''\n"; ! &sendmessage($name, @message_buffer) if $send_message ne "no"; &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname"); ! &home_create($name, $group_login); } --- 761,773 ---- # obscure perl bug $new_entry = "$name\:" . "$cryptpwd" . ! "\:$u_id\:$g_id\:$class\:0:0:$fullname:$homedir:$sh"; &append_file($etc_passwd, "$new_entry"); &new_users_pwdmkdb("$new_entry"); &new_users_group_update; &new_users_passwd_update; print "Added user ``$name''\n"; ! $cc = "" if $cc eq "no"; ! &sendmessage("$name $cc", @message_buffer) if $send_message ne "no"; &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname"); ! &home_create($name, $group_login) if $homedir !~ /nohome/; } *************** *** 949,953 **** sub home_create { local($name, $group) = @_; - local($homedir) = "$home/$name"; if (-e "$homedir") { --- 955,958 ---- *************** *** 1318,1321 **** --- 1323,1327 ---- # prepare some variables $send_message = "no" unless $send_message; + $cc = "no" unless ($cc && $send_message); $defaultpasswd = "no" unless $defaultpasswd; local($shpref) = "'" . join("', '", @shellpref) . "'"; *************** *** 1344,1347 **** --- 1350,1356 ---- # send this file to new user ("/etc/adduser.message" or "no") send_message = "$send_message" + + # send copy of message to this user (username or "no") + cc = "$cc" # config file for adduser ("/etc/adduser.conf") --------------29D9A70BEDD10329564E7CC1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807210230.TAA06969>