ソリューション調査:

ソリューション調査:

すべての人の有効なユーザーIDのリストをすばやく簡単に表示する方法を探しています。誰かがユーザーアカウントを切り替えると、「w」または「who」が表示される可能性があると思いました。 .しかし、ログインした実際のユーザーIDのみが表示されます。

答え1

1つの方法は、たとえばfuser疑似端末デバイスにコマンドを適用することです。/dev/ptssudo fuser -v /dev/pts/*

たとえば、Linuxシステムにログインしてuser1実行し、別の端末を介して再度ログインしましたsudo su user2user1を実行した後、sudo fuser -v /dev/pts/*次のような出力を取得します。

             USER        PID  ACCESS COMMAND
/dev/pts/0:  user1       5533 F....  bash
             root        6291 F....  sudo
/dev/pts/1:  user1       5655 F....  bash
             root        5748 F....  sudo
             root        5752 F....  su
             user2       5753 F....  bash

ここで2番目の出力ブロック(に対応)を見ると、に切り替わったことがわかり/dev/pts/1ます。この方法の詳細については、次の投稿をご覧ください。user1user2疑似端末装置の反対側に誰がいるのか、どうすればわかりますか?

答え2

ログイン情報は /var/log/secure ファイル (red hat\centos) または /var/log/auth.log(debian\ubuntu) に表示され、ログイン情報の形式には「session opening for」行テキストが含まれます。したがって、cat /var/log/(secure OR auth.log) | grep "session opened for"次のログインリストが提供されます。

Jan 9 07:07:07 ホスト名 su:pam_unix(su:session): ユーザー user1 に対して user2 (uid=2000) が開かれたセッション

ps aux | grep username「ユーザー名」で実行されるシェルをリストする必要があります。これは「ユーザー名」アクティビティを確認する簡単な方法であり、「ユーザー名」アクティビティを見つけることを期待していない場合は非常に目に見えます。ただし、これは「ユーザー名」でログインしている人が誰であるかを知らせないため、ログファイルを参照する必要があります。

多数のユーザーにとっては、これらの確認は面倒です。すべてのプロセスの代わりにユーザーを確認するのと同じことがあればと思いますが、それほど単純ではps -eo ruid,euidないことがわかりました。

答え3

ソリューション調査:

誰がサービスアカウントを介してサーバーを攻撃しているかを確認しようとすると、この問題が発生しました。

sudoサービスアカウントに入って確認することで、ユーザー~/.ssh/authorized_keysを識別して使用について議論することができました。

とにかく、これは問題を解決した方法で動作します...

関連情報