UNIXサーバーにアクセスできるユーザー(人とマシンの両方)のリストを取得したいと思います。オペレーティングシステムは次のとおりです。
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
試してみましたcat /etc/passwd
が、getent passwd
両方のリストは完全ではありませんでした。 / homeにフォルダを所有している多くのユーザーは、上記の2つのコマンドの出力には表示されません。
id <username>
フォルダーはありますが、このコマンドの出力には存在しないユーザー名を実行し、ユーザーが存在したことを証明する有効な出力を取得しました。
それでは、サーバーの「すべての」ユーザーリストをどのように取得できますか?
PS:sudoにアクセスできます。
出力
~> grep passwd /etc/nsswitch.conf
passwd: files sss
EDIT1:もう少し調査した結果、このサーバーがIPAを使用していることがわかりました。私は逃げたipa user-find
。これには2Kユーザーがリストされています。これはIPAによって作成されたユーザーの完全なリストですが、必ずしもすべてのユーザーが特定のサーバーにアクセスできるわけではありません。
追加の背景情報:
ほとんどの人間ユーザーはSSHまたはID +パスワードでログインします。
サーバーはIT /サーバーチームによって維持されず、商用ユーザーがサーバーを所有します。サーバーとシステムについて深い知識がない人は、その上にユーザーを作成します。最近 sudo アクセス権を取得し、サーバーを少し「クリーンアップ」する必要がありました。アクセスできなくなったユーザーを削除し、アーカイブできるデータを識別し、適切なUNIXグループを作成してデータへのアクセスを分離する必要がありました。