URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1283
[ Назад ]

Исходное сообщение
"chap-secrets и MySQL"

Отправлено SurfMan , 15-Апр-04 10:41 
Подскажите, можно ли сделать так, чтобы информация о юзерах, которая хранится в файлике
/etc/ppp/chap-secrets
хранилась в БД (MySQL)

Содержание

Сообщения в этом обсуждении
"chap-secrets и MySQL"
Отправлено virus_net , 21-Апр-04 12:50 
>Подскажите, можно ли сделать так, чтобы информация о юзерах, которая хранится в
>файлике
>/etc/ppp/chap-secrets
>хранилась в БД (MySQL)

конечно можно, но я бы сказал, что наоборот из MYSQL в файл.
Создай в MYSQL таблицу, приерно такую:
REATE TABLE ip (
  id bigint(20) NOT NULL auto_increment,
  ip varchar(15) NOT NULL default '',
  login varchar(64) NOT NULL default '',
  pass varchar(64) NOT NULL default '',
  UNIQUE KEY id (id)
) TYPE=MyISAM;

а потом скриптом на Perl выдергивай эту инфу в файл.
У меня например этот файл переписывается раз в 15 минут.
Скрипт примерно такой:
#!/usr/bin/perl

use Mysql;

$host="localhost";
$database="имя_базы_данных";
$user="root";
$pass="пароль_для_входа_если_есть";
$dbh = Mysql->Connect($host,$database,$user,$pass)  or print $Mysql::db_errstr;
$dbh->SelectDB($database) or print $Mysql::db_errstr;
$q=sprintf("SELECT login, pass, ip from имя_таблицы_которую_создал_выше");
$sth = $dbh->Query($q) or print $Mysql::db_errstr;
system("/bin/cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak");
open (SEC, ">/etc/ppp/chap-secrets.new");
while (@arr=$sth->fetchrow) {
print SEC "@arr[0]      @arr[1]     @arr[2]     *\n";
}
system("/bin/mv /etc/ppp/chap-secrets.new /etc/ppp/chap-secrets");
close (SEC);

вот и все.


"chap-secrets и MySQL"
Отправлено SurfMan , 21-Апр-04 17:25 
>конечно можно, но я бы сказал, что наоборот из MYSQL в файл.

блин, какое красивое решение, как я сразу не догадался.
и хотя я пишу на РНР, а не на Перле - в скрипте ясна каждая строчка.
спасибо за подсказку


"chap-secrets и MySQL"
Отправлено virus_net , 22-Апр-04 13:37 
Да.
Забыл добавить. Не забудьте поставить из портов:
/usr/ports/databases/p5-Mysql
Иначе скрипт будет ругаться :)

"chap-secrets и MySQL"
Отправлено virus_net , 28-Апр-04 12:10 
выложил некоторые свои скрипты на www.virus-net.ru
может кому пригодятся