On Sunday 07 September 2003 2:40 am, jc fulknier wrote: > is there a script to auto generate users and passwds > into a mySQL DB? Here is one I use:
=====
#!/bin/sh
#
# usage: radadd <format> <start> <end> <groupname>
#
# creates a range of users from start to end with randomized passwords
# "format" should be a format string for the "seq" command, and is
# generally in the form "<some identifying letters>%0<digit>g"
# where "digit" refers to how many digits are in the "sequence"
#
rm /tmp/hgusers /tmp/hgpass
for uid in `seq -f"$1" $2 $3`;do
echo insert into usergroup values \(0,\"$uid\",\"$4\"\)\; >>/tmp/hgusers
echo insert into radcheck values [line continues]
\(0,\"$uid\",\"Password\",\"==\",\"`randpass`\"\)\; >>/tmp/hgpass; done
cat /tmp/hgusers /tmp/hgpass | mysql -h <your_sql_host> [continues]
-u <your_radius/sql_user> -p<your_passwd> <your_db>
=====
[when cutting/pasting, fix the "line continues" parts, and insert appropriate
<values> for your MySQL database...]
the temp files, hgusers & hgpass, can be deleted afterwords or reviewed to see
what was added this time around.
the routine "randpass" generates the actual password -- this is my version,
but you can create one that makes passwords in whatever format you require
[upper vs. lower case, alpha vs. numeric, special symbols, length, etc.]
=====
#!/usr/bin/perl
my $c="bcdfghjklmnpqrstvwxyz";
my $v="aeiou";
for ($i=0;$i<4;$i++) {print substr($c,rand(21),1),substr($v,rand(5),1)};
=====
This deceptively simple routine generates passwords that are, for the most
part, pronounceable and rememberable without having to write them down [the
words look to be asian or hawaiian, though occaisionally a recognizable
english word will be generated, such as "rope" or "vase"] however since it
produces an 8-character password, you'll end up with "ropevase" as a password
--
Yet another Blog: http://osnut.homelinux.net
pgp00000.pgp
Description: signature
