
私は pam_tacplus.so PAM モジュールを使用して Linux ユーザーを認証するために TACACS+ を使用していますが、問題なく動作します。
いくつかのカスタム要件を満たすために、pam_tacplus モジュールを変更しました。
デフォルトでは、TACACS+ には Linux グループや Linux bash コマンドのアクセス レベル制御をサポートする手段がないことはわかっていますが、TACACS+ サーバー側から何らかの情報を渡して、pam_tacplus.so モジュールを使用して、ユーザー グループをオンザフライで許可/拒否したり変更したりできる方法はあるのでしょうか (pam モジュール自体から)。
例: priv-lvl 番号をサーバーからクライアントに渡し、それを PAM モジュールでの意思決定に使用できる場合。
PS: サーバー側 [コード] での変更を伴わない方法を希望します。すべての変更は Linux 側、つまり pam_tacplus モジュールで行う必要があります。
ご協力いただきありがとうございます。
答え1
結局、動作するようになりました。
問題 1:
私が直面した問題は、CISCO 以外のデバイス用に TACACS+ サーバーを構成するためのドキュメントがほとんどないことでした。
問題2:
私が使用しているtac_plusバージョン
tac_plus -v
tac_plus version F4.0.4.28
サポートしていないようです
service = shell protocol = ssh
tac_plus.conf ファイルのオプション。
それで結局私は
service = system {
default attribute = permit
priv-lvl = 15
}
クライアント側(pam_tacplus.so)では、
認証フェーズ (pam_acct_mgmt) で AVP service=system を送信し、これにより、サービスは構成ファイルで定義された priv-lvl を返すように強制され、ユーザーのデバイス特権レベルに使用されました。
注: 一部のドキュメントでは、service=system は使用されなくなったと記載されています。そのため、このオプションは CISCO デバイスでは機能しない可能性があります。
HTH