[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:50057] Re: pppdで二重ログインの禁止(できました)


結局、/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/
     ====================================

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: