SSHでログインしたユーザーがActive Direcoryに合格していることを確認してください。

SSHでログインしたユーザーがActive Direcoryに合格していることを確認してください。

SSHを介してLinuxサーバーに接続しているユーザーがActive Directory(Centrify)を使用して認証されていることを確認しようとしています。

彼がローカルアカウント(場所/etc/passwd)を使用している場合は、Active Directoryアカウントを使用するように警告し、再度ログインするように求められます。

私の最初の試みは、PAMモジュールpam_scriptを使用して、ユーザーがログインした/etc/pam.d/loginときに現在のユーザー名が/ etc / passwdにあることを確認し、見つかった場合は警告を表示し、loginコマンドを再度呼び出すスクリプトを実行することでした。

次の行を追加しました。/etc/pam.d/login

session    required    pam_script.so runas=root

この行は、以下を含むスクリプトファイルを実行します/etc/security/onsessionopen

#!/bin/sh
username=$1

if [ $(grep -c '^'$username':' /etc/passwd) = 1 ] 
then
    echo "Warning, please user your AD credentials"
    login
fi

ただし、SSHを使用しても同じシナリオが発生します/etc/pam.d/sshd。スクリプトは実行されますが、テキストまたはログインプロンプトは表示されません。

どんなアイデアがありますか?ありがとう

ベストアンサー1

広告を介して接続されているかローカルに接続されているかを確認するのは比較的使いidやすいです/etc/passwd。次のステップは、/etc/profile警告メッセージをエクスポートする機能を備えています。

おすすめ記事