簡単に言うと: 単一サーバー上の理由WHOこのコマンドは、サーバー接続を開始したIPアドレスとユーザー名の出力を提供しません。
質問: 同じオペレーティングシステムDist(RHEL 5.11)を使用する複数のLinuxサーバーがあります。サーバーの1つはずっと前に従業員によってプロビジョニングされていましたが、使用できなくなりました。
単一のユーザーに接続されているユーザーに対して一種の履歴監査を実装しようとしています。
su - <powerful_user>
彼らがそのように働くのを防ぐために私たちができることは何もありません。しかし、我々は彼らのIPと初期ユーザー名に感謝したいと思います。誰かの解決策を見つけました。 解決策
そしてそれは素晴らしい作品です!問題は、操作中にその情報を取得できないサーバー(最も重要なサーバー)があることです。
su - <powerful_user>
who -m
who -mは、初期ユーザー(suコマンドを接続して使用したユーザー)とセッションを開いたワークステーションのIPアドレスを表示します。このサーバーはこの情報を表示しません。代わりにsuを実行すると、セッションを開始したユーザーではなく現在のユーザーが表示されます。
何が原因なのかわかりません。しかし、これが私がしたことです:
- 強力なユーザーのために作成されたログインスクリプト - >すべて同じです。
環境変数 -> su 以降もワーカー サーバーが自動的にこの変数を設定することがわかりました。
SSH_ASKPASS
SSH_クライアント
SSH_接続
SSH_TTY
ただし、そのサーバーでは、su - が開いた他のセッションには渡されません。
- ほとんどがssh変数であることを見て、ssh設定を確認してみると、他のサーバーとまったく同じでした。
デフォルトでは、このサーバーがなぜ異なる動作をするのかわかりません。
答え1
ファイルが示すように、ファイルには次の行があるため、/etc/pam.d/su
グループメンバーのみがwheel
アクセスできます。su
auth required pam_wheel.so use_uid
wheel
すべてのユーザーをこのグループに追加する必要があります。
usermod -G wheel <powerful_user>
su
同じ方法で許可する各ユーザーを追加します。変更を適用するには、後でサーバーを再起動してください。