Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Linuxで全ユーザーアカウントを素早く一覧表示する方法

Linuxシステムに単一のユーザーアカウントでログインする方法はご存じでしょうし、rootアカウントについてもよくご存じかと思います。しかし、システム上に存在するすべてのアカウントを一覧表示できるシンプルなツールをお持ちの方は少ないのではないでしょうか。幸い、たった1つのコマンドラインテクニックだけで全リストを表示できます。もちろん、そのためにはまずコマンドラインを起動する必要があります。

Super + T または Ctrl + Alt + T を押して、グラフィカルなターミナルを起動しましょう。Ubuntu Unity Dashで「Terminal」と検索したり、KDEアプリケーションメニューやXfce4 Whiskerメニューの「システムツール」や「ユーティリティ」からターミナルを探すことも可能です。使用しているディストリビューションによりますが、このコマンドの実行に特別な権限は通常不要です。多くの最新ディストリビューションでは、最初に作成したユーザーに少なくとも一部の管理者権限が割り当てられていますが、必要に応じてコマンドの先頭に sudo を付けて実行することもできます。

方法1:すべてのLinuxユーザーのリストを取得する

コマンドプロンプトで以下を入力すると、システム上のすべてのユーザーのリストを表示できます。

getent passwd | cut -d':' -f1 | less

コマンドがやや長いため、このページからコピー&ペーストするのが便利です。その場合は、ターミナルエミュレータの「編集」メニューから「貼り付け」を選択してください。Shift + Ctrl + V で貼り付けることもできますが、ほとんどのターミナルエミュレータでは Ctrl + V は貼り付けに割り当てられていない点に注意してください(コマンドラインでは別の機能を持つためです)。

このコマンドを実行すると長い出力が表示され、カーソルキーや J キー・K キーで上下にスクロールしながら閲覧できます。終了するには q を入力します。初めてシステム上の全ユーザーを目にすると、その多さに驚くかもしれません。しかし心配は無用です。システムが不正アクセスを受けたわけではありません。汎用のGNU/Linuxディストリビューションでは、root以外のユーザーとしてさまざまなプロセスを安全に実行するために、多数のシステム用アカウントがあらかじめ設定されています。シングルユーザーシステムでのあなた自身のユーザー名は、おそらくリストの下の方に見つかるはずです。

これらの名前の中には、バックグラウンドで動作しているプログラムの名前として見覚えのあるものもあるでしょう。それらのアカウントは、対応するパッケージがインストールされた際に自動的に作成されたものです。

方法2:ユーザー数を調べる

リストはかなり長くなるため、wc(ワードカウント)ユーティリティを使えば、システムに設定されているユーザーアカウントの正確な数を把握できます。プロンプトで以下を入力またはコピーして、Enterキーを押してください。

getent passwd | wc -l

結果は数桁程度に収まるため、moreやlessなどへのパイプは不要です。

参考までに、スクリーンショット撮影に使用したXubuntuのテストシステムでは、実際にログインできるユーザーアカウントは1つだけであるにもかかわらず、なんと38個ものユーザーアカウントが存在しました。これは、このコマンドがパッケージによって作成された疑似アカウントも一緒にカウントするためです。幸い、実際のユーザーだけを数える方法もあります。

現在ログイン中のユーザーを確認する

今このマシンに誰がログインしているのかを知りたい場合は、次のコマンドを入力してEnterキーを押します。

users

Debian系ディストリビューションを一人で使用している場合、表示されるのは自分のアカウントとrootだけであることが多いでしょう。一方、CentOSやRed Hat Enterprise Linuxなどが稼働するサーバーシステムやマルチユーザー環境では、仮想マシンでユーザーを分散させていない限り、同時にログインしているアカウントがさらに多く表示されることがあります。なお、ベアメタル上で動作する仮想マシンにログインしているユーザーは、それぞれ自身の環境内からのログインとしてのみ表示される点に注意してください。

引数なしで who コマンドを実行すると、さらに詳しい情報が得られます。各ユーザーがどの端末からログインしているかを確認できます。UnityやGNOMEがインストールされている環境では、tty7があなたの使用しているグラフィカルなXサーバーまたはWaylandサーバーに該当することを覚えておきましょう。これが、標準的なデスクトップを使っているだけでも、自分のアカウントが「ログイン中」と表示される理由です。実際、Unixの歴史的な仕様やユーザーデバイスの管理方式の関係で、タッチスクリーン搭載デバイスでも同じように表示されます。

まとめ

getent passwd コマンドとパイプの組み合わせを覚えておけば、特別なツールを追加インストールすることなく、Linuxシステム上の全ユーザーアカウントを瞬時に一覧表示できます。wc -l による件数の集計、users や who によるログイン状況の確認と併せて、日々のシステム管理やトラブルシューティングにぜひ活用してみてください。


著者について

Linuxで全ユーザーアカウントを素早く一覧表示する方法

Kevin Arrows(ケビン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つテクノロジースペシャリストです。Microsoft Certified Technology Specialist(MCTS)認定資格を保有し、最新の技術動向を追いかけることに強い情熱を注いでいます。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い分野で多数の技術記事を執筆しており、複雑な技術的概念を明確かつ簡潔に解説する能力で、業界内でも高い評価を得ています。

  1. Linuxで音が出ない!原因別の対処法をステップバイステップで解説

    どんなに試してもLinuxから音が出ない——そんな経験はありませんか?まずは基本の確認から始めましょう。スピーカーやヘッドホンが正しく動作しているか、システムトレイの音量コントロールをチェックし、ノートパソコンやタブレット本体の音量設定も併せて確認してください。音量が極端に下げられていたり、誤ってミュートになっていたりするケースは非常によくあります。それでも解決しない場合は、再起動を試してみてください。 大多数の場合、これらの簡単な手順だけで音が出るようになります。それでもLinuxで音が出ない場合は、この先で紹介する解決策を順番に試してみてください。一見難しい問題に思えますが、いくつかのシン

  2. LinuxコマンドラインでOpenStackのアベイラビリティゾーンを作成・管理する方法

    OpenStackの用語において、アベイラビリティゾーン(Availability Zone)とは、ネットワークサービス(Neutron)、ブロックストレージ(Cinder)、コンピュート(Nova)を論理的に分割した領域を指します。アベイラビリティゾーンの主な役割は、本番環境と非本番環境の両方を含むワークロードや設定をグループ化することです。この記事では、Linuxのコマンドラインを使って、OpenStack上でアベイラビリティゾーンを作成し、活用する方法を解説します。デフォルトのアベイラビリティゾーンについてOpenStackをデプロイすると、コンピュート(Nova)用のデフォルトのアベイ