結局、/etc/ppp/pap-secrets.orgというファイルを作り、auth-upでログインし
たユーザーをコメントアウトした/etc/ppp/pap-secretsをその都度生成するとい
うスクリプトを作りました。
これから実際の運用でテストしてみたいと思いますが、今のところこの方法で行
けてそうですので、報告いたします。
永井@シリウスさん、いしおかさん、ありがとうございました。
下に、それぞれのスクリプトをのせておきます。
----------------------(/etc/ppp/auth-up)
#! /bin/sh
# $1: i/f name
# $2: peer-name
# $3: user-name
# $4: tty-device
# $5: speed
echo "up: " `date +"%Y.%m.%d %X"` $4 $2 >>/var/log/pppauth.log
echo `date +"%Y.%m.%d %X"` $1 $2 $3 $4 $5 >/root/loginuser/$2
echo `date +"%Y.%m.%d %X"` "up " $1 $2 $3 $4 $5 >>/root/loginlog/$2
/root/dloginchk
----------------------(/etc/ppp/auth-down)
#!/bin/sh
echo "down: " `date +"%Y.%m.%d %X"` $4 $2 >>/var/log/pppauth.log
rm /root/loginuser/$2
echo `date +"%Y.%m.%d %X"` "down" $1 $2 $3 $4 $5 >>/root/loginlog/$2
echo >>/root/loginlog/$2
/root/dloginchk
----------------------(/root/dloginchk)
#!/usr/bin/perl
$pap="/etc/ppp/pap-secrets";
@luser=`ls /root/loginuser/`;
@paporg=`cat /etc/ppp/pap-secrets.org`;
sub chku{
@p=split(" ",$pu);
foreach $lu (@luser){
if($p[0] eq $lu){
return 0;
}
}
return 1;
}
foreach $lu (@luser){
chop $lu;
}
open(PAPS ,">$pap");
foreach $pu (@paporg){
chop $pu;
if(&chku == 1){
print PAPS "$pu\n";
}else{
print PAPS "#$pu\n";
}
}
close (PAPS);
====================================
* Sadahiro Kitagawal
e-mail sadak _at_ kagoya.co.jp
* Kagoya Internet Routing
http://www.kagoya.co.jp/kir/
====================================
Follow-Ups:
- [linux-users:50095] Re: pppdで二重ログインの禁止( できました)Toyohiko Nagai
- [linux-users:50005] Re: pppdで二重ログインの禁止Toyohiko Nagai
- [linux-users:50045] Re: pppdで二重ログインの禁止Sadahiro Kitagawa
- Prev by Subject: [linux-users:50056] Re: 雑談
- Next by Subject: [linux-users:50058] Re: 雑談
- Previous by thread: [linux-users:50045] Re: pppdで二重ログインの禁止
- Next by thread: [linux-users:50095] Re: pppdで二重ログインの禁止( できました)
- Indexes:[Main][Thread]