私のコンピュータにRadius認証を設定しました(クライアントとしてまだテストしていません)。
pam radius confファイルには共有秘密などがあります。半径認証は、潜在的に組織内のすべてのユーザー(認証サーバーを制御しない) - 10000人のユーザーを認証できます。
また、プロジェクトをグループとして許可するという意味で pam_listfile.so を追加に設定しました。
私が達成したいのは次のとおりです。
- ローカル管理者ユーザーが必要です(adminグループと/ etc / passwd)。
- /etc/passwdにはありませんが、radiusを介して認証する他のユーザーがいます(最初のログイン時に合理的なホームディレクトリを取得できるようにpam_mkhomedir.soを設定しました)。これはアクセスを許可したいコンピュータのホワイトリストです。
- これらの追加ユーザーは、一部のローカルで定義されたグループ(以下の参照 - グループ1、グループ2など)のメンバーです。
- このグループのメンバーではないすべてのユーザーは認証を拒否する必要があります。
/etc/passwdにローカルユーザーがいます(上記1を参照)。ユーザーはsshd.allowファイルのグループの1つであるadminというグループにあります。これには以下が含まれます。
グループ1
グループ2
グループ3
行政
これらのグループはすべて/ etc / groupで定義されており、特定のメンバーを持っています。
他のユーザー(/ etc / passwdにはありませんがgroup1のメンバー)で認証しようとすると、認証が失敗することがわかります。 auth.logを追跡してみると、私のコンピュータは実際にRadiusサーバーに対してこのユーザーを認証しようとしていないようです。
私は通常のDebian設定から始めて、pam_radius、pam_listfile、pam_mkhomedirに対応する行を追加しました。他には触れませんでした。
したがって、pam設定のいくつかのデフォルト設定はめちゃくちゃになる可能性があります(おそらくローカル/ etc / passwd?に基づいて認証を想定する誤ったauth必須ディレクティブかもしれません)。それとも少なくとも私の推測です。 auth.logは、指定されたユーザー名を無効なユーザーとして参照します(Sshを介してパスワードを入力する前でも)。
私の質問は - 私がしたいことをすることは可能ですか(上記参照)?その場合は、この問題をデバッグするのに役立つように構成の詳細を公開します。