Linux上のUbuntuでシステムユーザーを表示する方法
はじめに
システム管理の基本的なパートは、ユーザーとグループの設定と管理です。このタスクの一部には、全てのシステムエンティティのログイン可能性の監視が含まれています。
このチュートリアルでは、ユーザー管理と認証ログ記録の背後にあるアイデアを復習します。
私たちはUbuntu 22.04 サーバーでこれらの概念を探求しますが、どんなモダンなLinuxディストリビューションでもご一緒いただけます。チュートリアルのためにUbuntu 22.04 サーバーをセットアップすることができます。詳細は「Ubuntu 22.04での初期サーバー設定」のガイドに従ってください。
第一部では、システムのユーザーを表示し、誰がシステムにログインしているかを調べる方法について説明します。
利用可能なユーザーの表示方法
リアルな人物のアカウントと関連付けられたサービスやシステムの機能によって作成されたすべてのLinuxシステムのユーザーは、/etc/passwdというファイルに保存されています。
/etc/passwdファイルにはシステム上のユーザーに関する情報が含まれています。それぞれの行が個別のユーザーを説明しています。
「lessコマンドを使って、ファイル全体をスクロールして確認してみてください。」
- less /etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin . . .
各行はフィールドに分割されます。これらのフィールドはコロン(:)の文字によって区切られます。
現時点で必要なのは最初のフィールドだけです。それぞれは独立したユーザー名です。使用が終わったら、qキーを押して終了してください。
「/etc/passwd」全体を見る必要なく、cutコマンドを使用してコロン区切り(-d :)で分割することで、このリストを取得できます。
- cut -d : -f 1 /etc/passwd
root daemon bin sys sync games . . .
おそらく、ルートを管理者として認識していると思います。最後に、ログインしているユーザーが表示されるかもしれません。
間に、おそらく他のいくつかのユーザーの使用法が少なくとも何となく分かることがあります。たとえば、www-dataはWebサーバープロセスの所有者として設定されています。
これは機能の特権を分離するために行われます。その方法で、アカウントが侵害されたり誤用された場合でも、影響を隔離することができます。
このチュートリアルでは、/etc/passwdの各フィールドについて詳しく読むことができます。
利用可能なグループを表示する方法
システムグループを見つけるための対応するファイルは、/etc/groupです。
このファイルを再度表示するには、再び少なく使うことができます。
- less /etc/group
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: . . .
多くのグループ名が、あなたのシステムで見つけたユーザーに対応していることに気付くかもしれません。これは、ユーザー個別グループと呼ばれる設定スキームの一部です。
ユーザーの個別グループを作成し、そのグループを主要なグループに設定します。その後、umaskが022から002に変更されます。
この設定により、共有ディレクトリの柔軟性が向上し、setgidというフラグを設定することで、ディレクトリ内のファイルにディレクトリ自体と同じグループオーナーが設定されます。
再び、/etc/groupファイルから情報をカットコマンドを使って削減することができます。
- cut -d : -f 1 /etc/group
root daemon bin sys adm tty disk . . .
システム上の各グループが1行ずつ表示されます。
どのユーザーがログインしているかを見つける方法
あなたのシステムで活動しているユーザーを特定することは、何度も何度も役立ちます。 (Anata no shisutemu de katsudō shite iru yūzā o tokutei suru koto wa, nandomo nandomo yakudachimasu.)
wコマンドは、現在ログインしているユーザー、ログイン時間、現在実行中のコマンドを一覧表示する簡単な方法です。
- w
19:37:15 up 5:48, 2 users, load average: 0.33, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w
最初の行にはシステムの稼動時間情報が含まれており、それに続く行にはログインしているユーザーが説明されています。
類似の情報を提供している別の選択肢は、誰ですか?(Ruji no jōhō o teikyō shite iru betsu no sentakushi wa, dare desu ka?)
- who
root pts/0 2013-09-05 19:15 (rrcs-72-43-115-186.nyc.biz.rr.com) demoer pts/1 2013-09-05 19:37 (rrcs-72-43-115-186.nyc.biz.rr.com)
結論
Linuxでのユーザー認証は、システム管理の比較的柔軟な領域です。広く利用できるツールを使用して同じ目的を達成するための多くの方法があります。
あなたはサーバーがユーザーとグループ情報をどこに保存しているかを知るべきです。また、いつでも誰がログインしているかも確認できます。
このチュートリアルシリーズの次の部分では、ログインアクセスの制限方法を復習します。