Linuxでユーザーをリストする方法は?
具体的には、ローカル、リモート、物理、およびすべてのユーザーです。同じネットワークに複数のLinuxサーバーがあります。すべてのサーバーに登録されているすべてのユーザーを一度に一覧表示したいと思います。
また、ユーザーごとにアクセス権が異なるため、すべてのユーザーの詳細を一度に取得したいと思います。
答え1
who
これを行うには、オプションなしでコマンドを実行します。次の例を考えてみましょう。
$ who
himanshu tty7 2012-08-07 05:33 (:0)
himanshu pts/0 2012-08-07 06:47 (:0.0)
himanshu pts/1 2012-08-07 07:58 (:0.0)
すべてのローカルユーザーのリスト
passwd(/etc/passwd)ファイルに対して簡単なcat操作を実行して、すべてのローカルユーザーを一覧表示できます。
cat /etc/passwd
実際のユーザーのみを一覧表示
システムの実際のユーザーホームディレクトリが/ homeにあるとします。
cat /etc/passwd | grep '/home' | cut -d: -f1
すべてのユーザーを一覧表示
このコマンドは、NIS、LDAPなどの複数の認証サービスを介してシステムにアクセスできるすべてのユーザーのリストを取得する必要がある場合に使用されますgetent
。
コマンドcut
を使用して、前のコマンドで説明したように出力を変更してフォーマットすることができます。grep
awk
getent passwd | cut -d: -f1