There may not be one that exists, but it's pretty easy to do I think.
If users.txt is just "username (WHITESPACE) password"
#!/bin/sh
for USER in `cat users.txt | awk '{ print $1 }'`; do
PASSWORD=`grep "^$USER" users.txt | head -1 | awk '{ print $2 }'`
/usr/local/apache/bin/htpasswd -b /path/to/.htpasswd $USER $PASSSWORD
done
Or cat it to this perl script:
#!/usr/bin/perl5
while (<>) {
($user, $password) = split;
system("/usr/local/apache/bin/htpasswd -b
/path/to/.htpasswd $user $password)";
}
If your version of htpasswd can't take a password on the command line, you
can generate them on the fly with perl, and then add the output to the end
of the existing .htpasswd file.
#!/usr/bin/perl5
while (<>) {
($user, $password) = split;
$salt = join '',('.','/',0..9,'A'..'Z','a'..'z')[rand 64, rand 64];
$encrypted_password = crypt($password, $salt);
print "$user:$encrypted_password\n";
}
I just typed these in - so test first before committing any changes. No
guarantees they work!
Adam Maloney
Perl Monger :)
On Fri, 2 May 2003, Raymond Norton wrote:
> I am setting up an IPCop box basically as squid box using proxy_auth.
> Is there a script I can drop in the html folder that will let an
> administrator add web users via a web page, or is there was a way to
> import a txt file with 200 users and passwords?
>
>
> Raymond
_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
http://www.mn-linux.org tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list