ユーザのパスワード変更を一度にしてしまおう
csvファイルはこんな感じでいいや(^^;;
user1,pass1,
user2,pass2,
:
:
usern,passn,
perlで書いてみた。ま、いっか。sambaのもこれでいいや。
expectのautopasswdを改造する。
#! /usr/bin/perl
&csv_file_read("./passwd.csv");
for ($x = 0 ; $x <= $#opwork ; $x++) {
$uname = $opwork[$x][0];
$newpwd = $opwork[$x][1];
print $uname;
print " ";
print $newpwd;
print "\n";
&do_password();
}
sub do_password()
{
&admin_system(qq^
autopasswd $uname $newpwd
^);
}
sub admin_system()
{
my $cmd=shift;
system( qq^
> /var/tmp/rcp.log
{$cmd} > /var/tmp/rcp.log 2>&1
echo "rc=\$?" >> /var/tmp/rcp.log
^);
if ( $? ne 0 ) {
print("LOG:",`cat /var/tmp/rcp.log`);
# exit(1);
return 0
}
return 1
}
sub csv_file_read()
{
my ($fname) = @_;
open FH,$fname; #
my $ii = 0;
$#opwork =-1;
while(
$r_org=$_;
# chomp $r_org;
@fwork = split(',',$r_org);
@{$opwork[$ii]} = @fwork;
$ii++;
}
close (FH);
}