カットの下で私の観察と考慮事項。
むかしむかし、マニュアルに従ってfreeradius + freenibsを正常に設定しましたが、実際にその機能と動作を詳しく調べることはありませんでした。
今、逆の問題があります:)
半径の構成を解析し、その構造を詳しく調べると、次のことに気付きました。
(私が間違っている場所で私を修正してください)
1)ほとんどすべてのくしゃみの半径には、認証、承認、アカウンティング、およびいくつかのまれなアクションの1つ以上を同時に実行するモジュラスがあります。
2)モジュールは、プログラムと同じインターフェースを持ちますが、異なる目的に使用されます
3)radius configは、次のようないくつかの部分で構成されています。
モジュール{}-モジュールパラメーターの構成
{}を許可する
{}を認証する
会計{}
それほど重要ではないものもいくつかあります。
4)モジュールの名前がどの部分(許可、認証、アカウンティング)であるかに応じて、対応する関数が呼び出されます... モジュールはオーセンティケーターおよびオーソライザーとして機能し、アカウンティングも処理できます。
したがって、いくつかの質問が発生します。
1)承認と認証の方法が異なります。 それぞれのモジュールで説明されているモジュールはどのアクションを実行しますか。
2)pap、chap、mschapモジュールがあります-認証データの取得元がわかりませんか? そして、ユーザー認証を行うかどうか。 またはすべて同じ承認? これらの概念を混同しています。
3)実際、半径を扱う一般的な必要性はどこから来たのか:サードパーティのプログラムを介して外部認証を行う必要があります。 ログインとユーザーパスワードを提供する必要があることがわかっており、出力でRADIUSモジュールとして機能します。0、1、...、および属性のペアを返します。 このために、execモジュールを見つけました-何らかの理由で、int main(...){exit(0);}のみがユーザーを認証しない本体の最も単純なプログラムです。
freeridiusの仕組みに関するコメントと説明に感謝します。
多分私の頭の中でこれをすべて理解した結果に基づいて、記事を書きます。