Получаем пароли абонов с радиуса и заносим их в базу
Скрипт просматривает дебаг радиуса и проверяет был ли изменен пароль по умолчанию, если нет - вносит пароль который пришел от абонента в базу. Скрипт в состоянии определить пароль только если он пришел в не зашифрованном виде (не ms-chap).
$load - файл дебага радиуса. Радиус запускается так radiusd -X >/home/sergeev/rad/log
можно запустить с параметром nohup, чтобы не было привязки к консоли и таким же образом запустить сам скрипт
wget https://github.com/mikbill/design/raw/master/mikbill/savepass/savepass.php
wget https://github.com/mikbill/design/raw/master/mikbill/savepass/mysqlconnect.php
savepass.php
mysqlconnect.php
$load - файл дебага радиуса. Радиус запускается так radiusd -X >/home/sergeev/rad/log
можно запустить с параметром nohup, чтобы не было привязки к консоли и таким же образом запустить сам скрипт
wget https://github.com/mikbill/design/raw/master/mikbill/savepass/savepass.php
wget https://github.com/mikbill/design/raw/master/mikbill/savepass/mysqlconnect.php
savepass.php
<?php | |
require_once( "mysqlconnect.php" ); | |
$mysqlconnect=new mysqlconnect(); | |
$line_username="rlm_perl: Added pair User-Name"; | |
$line_pass="rlm_perl: Added pair User-Password"; | |
$load="/home/sergeev/rad/log"; | |
$last=0; | |
function start($min){ | |
global $mysqlconnect; | |
global $line_username; | |
global $line_pass; | |
global $load; | |
global $last; | |
$lines = file($load); | |
$max=count($lines)-1; | |
for($i=$last;$i<$max;$i++){ | |
$res = substr($lines[$i], 0, 30); | |
if($res==$line_username){ | |
$user=substr($lines[$i], 33,-1); | |
$res_2=substr($lines[$i+1], 0, 34); | |
if($res_2==$line_pass){ | |
$pass=substr($lines[$i+1], 37, -1); | |
$sql=$mysqlconnect->load("SELECT uid, password FROM `users` WHERE `user`='$user'"); | |
if(count($sql)!=0){ | |
$load_uid=$sql[0]["uid"]; | |
$load_pass=$sql[0]["password"]; | |
echo "uid=$load_uid login=$user "; | |
if($load_pass=="1"){ | |
echo "меняем пароль: $pass\n"; | |
$mysqlconnect->save("UPDATE `users` SET `password`='$pass' WHERE `uid`='$load_uid'"); | |
} else { | |
echo "пароль уже изменен: $load_pass\n"; | |
} | |
} | |
} | |
} | |
} | |
$last=$i; | |
} | |
while(true){ | |
start($last); | |
} | |
?> |
|
Комментарии
Отправить комментарий