/usr/share/doc/freeradius/examples/create-users.pl is in freeradius 3.0.16+dfsg-1ubuntu3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #!/usr/bin/perl
# Purpose: create lots of random users and passes
# for testing your radius server
# Read doc/README.testing for more information
$passfile = "./passwd";
$shadfile = "./shadow";
$radfile = "./radius.test";
$nocrypt = "./passwd.nocrypt";
$users = "./radius.users";
if($ARGV[0] eq "") {
print "\n\tUsage: $0 <number of users>\n\n";
exit(1);
} else {
$numusers = $ARGV[0];
}
$userlen = 6;
$passlen = 6;
open(PASS, ">$passfile") || die "Can't open $passfile";
open(SHAD, ">$shadfile") || die "Can't open $shadfile";
open(RAD, ">$radfile") || die "Can't open $radfile";
open(NOCRYPT, ">$nocrypt") || die "Can't open $nocrypt";
open(USERS, ">$users") || die "Can't open $users";
for ($num=0; $num<$numusers; $num++) {
# generate username
$username = "";
for($i=0; $i<rand($userlen)+2; $i++) {
do { ($char = chr((rand 25)+97))} until $char=~/[A-Za-z]/;
$username .= $char;
}
# Make sure they're unique
if(($userlist{$username}) || (getpwnam($username))) {
$num--;
next;
}
$userlist{$username} = 1;
# generate password
$password = "";
for($i=0; $i<rand($passlen)+2; $i++) {
do { ($char = chr((rand 25)+97))} until $char=~/[A-Za-z]/;
$password .= $char;
}
if (length($num)%2==1) {
$num="0".$num;
}
printf PASS "$username:%s:1001:1001:Name:/dev/null:/dev/null\n", crypt($password, $password);
printf SHAD "$username:%s:1000:0:99999:7:::\n", crypt($password, $password);
printf RAD "User-Name=$username, User-Password=$password,NAS-IP-Address=127.0.0.1,NAS-Port-Id=0\n\n";
print NOCRYPT "$username:$password\n";
print USERS "$username Cleartext-Password := \"$password\"\n\tClass=\"0x$num\"\n\n";
}
close(PASS);
close(SHAD);
close(RAD);
close(NOCRYPT);
close(USERS);
print "\nCreated $numusers random users and passwords\n\n";
|