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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807210230.TAA06969>
