Unix サーバーにアクセスできるユーザー (人間とマシンの両方) のリストを取得したいです。OS は次のとおりです。
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
試してみましたcat /etc/passwd
がgetent passwd
、どちらのリストも不完全です。/home にフォルダーを持つユーザーの一部は、上記の 2 つのコマンドのどちらの出力にも存在しません。
id <username>
フォルダーがあるがこれらのコマンドの出力には存在しないユーザー名に対して実行したところ、そのユーザーが存在することを証明する有効な出力が得られました。
では、サーバーの「すべての」ユーザーのリストを取得するにはどうすればよいでしょうか。
追記: sudo アクセス権はあります。
出力
~> grep passwd /etc/nsswitch.conf
passwd: files sss
編集1: 調べてみたところ、このサーバーは IPA を使用していることがわかりました。 を実行しましたipa user-find
。2,000 人のユーザーがリストされましたが、これは IPA 経由で作成されたユーザーの完全なリストであると思われますが、必ずしもすべてのユーザーがこの特定のサーバーにアクセスできるわけではありません。
背景情報:
ほとんどの人間のユーザーは、SSH または ID + パスワードのいずれかを使用してログインします。
このサーバーは、IT/サーバー チームによって保守されていません。ビジネス ユーザーがサーバーを所有しています。サーバーとシステムに関する深い知識のない人が、サーバー上にユーザーを作成して保守しています。最近、sudo アクセスを取得しましたが、サーバーを少し「クリーンアップ」する必要があります。アクセスする必要がなくなったユーザーを削除し、アーカイブできるデータを特定し、データへのアクセスを分離するための適切な UNIX グループを作成します。