この簡単なガイドでは、Linuxオペレーティングシステムのすべてのユーザーを一覧表示する方法について説明します。トピックに入る前に、/ etc/passwdファイルとは何かを確認します。このガイド全体を通してこのファイルに依存しているためです。
/ etc/passwdファイルに関する簡単なメモ
Linux(および一般的なUnix)では、各ユーザーアカウントに関する基本情報は "/ etc / passwd"に保存されます。 ファイル。これは、Linuxシステムに存在するすべてのユーザーアカウントの属性を含むプレーンテキストファイルに他なりません。
デフォルトでは、このファイルは、Vi、Nano、Geditなどのテキストまたはグラフィカルプログラムを使用するか、 "cat などのコマンドを使用して、すべてのユーザーが読み取ることができます。 "。
このファイルを開くと..
$ cat / etc / passwd
...以下のようないくつかのエントリが表示されます:
root:x:0:0:root:/ root:/ bin / bashdaemon:x:1:1:daemon:/ usr / sbin:/ usr / sbin / nologinbin:x:2:2:bin:/ bin:/ usr / sbin / nologinsys:x:3:3:sys:/ dev:/ usr / sbin / nologinsync:x:4:65534:sync:/ bin:/ bin / syncgames:x:5:60:games :/ usr / games:/ usr / sbin / nologin [...]
/ etc / passwdファイルの各行は、単一のユーザーを表します。 rootユーザーが一番上に表示されます。各行には、各フィールド間にスペースを入れずにコロンで区切られた7つの属性またはフィールドが含まれています。 7つのフィールドの名前を以下に示します。
- 名前、
- パスワード
- ユーザーID、
- グループID、
- gecos、
- ホームディレクトリ
- シェル。
1。名前
「名前」 フィールドは、Linuxボックスへのログインに使用するユーザーのログイン名です。
2。パスワード
「パスワード」 フィールドには文字Xが含まれているだけです。意味-パスワードは暗号化され、セキュリティ上の理由から「/ etc/shadow」という別のファイルに保存されます。 / etc/shadowは通常のユーザーは読み取ることができません。ここで、Xは、ユーザーがパスワードを持っていることを示します。このフィールドが空の場合、ユーザーはパスワードを持っていないため、パスワードなしでログインできます。
3。ユーザーID
「ユーザーID」 「」(または略してUID)は、ユーザーの一意の数値識別番号を示します。ルートアカウントのUIDは0(ゼロ)です。1から99までの数字はシステムアカウント用に予約されています。100から999までの数字は通常のユーザー用に予約されています。グループ。
4。グループID
「グループID」 (または略してGID)は、ユーザーが属するプライマリグループ識別子を示します。 GIDは通常UIDと同じです。
5。ヤモリ
"geckos" フィールドには、ユーザーの一般情報が含まれます。たとえば、ユーザーの本名が含まれている場合があります。このファイルは、2つのコロンで区切られた空の場合もあれば、コンマで区切られた複数のエントリが含まれている場合もあります。
6。ホームディレクトリ
「ホームディレクトリ」 フィールドは、ユーザーのホームディレクトリのフルパスを示します(例: / home / sk )。 。これは、ユーザーがシステムにログインしたときに最初に入るディレクトリです。ホームディレクトリには通常、ユーザーが所有するプログラムと構成ファイルが含まれています。
7。シェル
最後に提出されたのは "shell" 。そのユーザーのデフォルトシェルのフルパスを示します。
ここで、例として次の行を取り上げましょう。
root:x:0:0:root:/ root:/ bin / bash
上記の行で、
- ルート -はユーザー名です
- x -rootユーザーがパスワードを持っていることを示します
- 0 -最初の0(ゼロ)はUIDを示します
- 0 -2番目のゼロはGIDを示します
- ルート -ユーザーの本名を示します。
- / root -rootユーザーのホームディレクトリです
- / bin / bash -rootユーザーのデフォルトシェル。
/ etc/passwdファイルに関する基本的な考え方を理解していただければ幸いです。ここで、トピックに戻りましょう。つまり、Linuxシステムのすべてのユーザーを一覧表示します。
Linuxのすべてのユーザーを一覧表示
Linuxシステムのすべてのユーザーを一覧表示する方法はいくつかあります。ここにすべての可能な方法を含めました。
1。 catコマンドを使用してLinuxのすべてのユーザーを一覧表示する
名前が示すように、catコマンドは通常、ファイルを連結し、ファイルの内容を印刷するために使用されます。
cutコマンドを使用してLinuxシステムのすべてのユーザーを一覧表示するには、次のコマンドを実行します。
$ cat / etc / passwd
このコマンドは、利用可能なすべてのユーザーを一覧表示します
出力例:
root:x:0:0:root:/ root:/ bin / bashdaemon:x:1:1:daemon:/ usr / sbin:/ usr / sbin / nologinbin:x:2:2:bin:/ bin:/ usr / sbin / nologinsys:x:3:3:sys:/ dev:/ usr / sbin / nologinsync:x:4:65534:sync:/ bin:/ bin / syncgames:x:5:60:games :/ usr / games:/ usr / sbin / nologinman:x:6:12:man:/ var / cache / man:/ usr / sbin / nologinlp:x:7:7:lp:/ var / spool / lpd: / usr / sbin / nologinmail:x:8:8:mail:/ var / mail:/ usr / sbin / nologinnews:x:9:9:news:/ var / spool / news:/ usr / sbin / nologinuucp:x :10:10:uucp:/ var / spool / uucp:/ usr / sbin / nologinproxy:x:13:13:proxy:/ bin:/ usr / sbin / nologinwww-data:x:33:33:www-data :/ var / www:/ usr / sbin / nologinbackup:x:34:34:backup:/ var / backups:/ usr / sbin / nologinlist:x:38:38:メーリングリストマネージャー:/ var / list:/ usr / sbin / nologinirc:x:39:39:ircd:/ var / run / ircd:/ usr / sbin / nologingnats:x:41:41:Gnatsバグレポートシステム(管理者):/ var / lib / gnats:/ usr / sbin / nologinnobody:x:65534:65534:nobody:/ nonexistent:/ usr / sbin / nologinsystemd-network:x:100:102:systemd Network Management ,,,:/ run / systemd / netif:/ usr / sbin / nologinsystemd-resolve:x:101:103:systemd Resolver 、、 、:/ run / systemd / resolve:/ usr / sbin / nologinsyslog:x:102:106 ::/ home / syslog:/ usr / sbin / nologinmessagebus:x:103:107 ::/ nonexistent:/ usr / sbin / nologin_apt:x:104:65534 ::/ nonexistent:/ usr / sbin / nologinuuidd:x:105:111 ::/ run / uuidd:/ usr / sbin / nologinavahi-autoipd:x:106:112:Avahi autoipデーモン、 、、:/ var / lib / avahi-autoipd:/ usr / sbin / nologinusbmux:x:107:46:usbmuxデーモン、、、:/ var / lib / usbmux:/ usr / sbin / nologindnsmasq:x:108:65534 :dnsmasq ,,,:/ var / lib / misc:/ usr / sbin / nologinrtkit:x:109:114:RealtimeKit ,,,:/ proc:/ usr / sbin / nologincups-pk-helper:x:110:116 :user for cups-pk-helper service ,,,:/ home / cups-pk-helper:/ usr / sbin / nologinspeech-dispatcher:x:111:29:Speech Dispatcher ,,,:/ var / run / Speech-ディスパッチャ:/ bin / falsewhoopsie:x:112:117 ::/ nonexistent:/ bin / falsekernoops:x:113:65534:Kernel Oops Tracking Daemon 、、、:/:/ usr / sbin / nologinsaned:x:114:119 ::/ var / lib / saned:/ usr / sbin / nologinavahi:x:116:122:Avahi mDNSデーモン、、、:/ var / run / avahi-daemon:/ usr / sbin / nologincolord:x:117:123 :colord色管理デーモン、、、:/ var / lib / colord:/ usr / sbi n / nologinhplip:x:118:7:HPLIPシステムユーザー、、、:/ var / run / hplip:/ bin / falsegeoclue:x:119:124 ::/ var / lib / geoclue:/ usr / sbin / nologingnome- initial-setup:x:120:65534 ::/ run / gnome-initial-setup /:/ bin / falsegdm:x:121:125:Gnome Display Manager:/ var / lib / gdm3:/ bin / falsesk:x: 1000:1000:sk ,,,:/ home / sk:/ bin / bashDebian-exim:x:122:128 ::/ var / spool / exim4:/ usr / sbin / nologinpulse:x:115:120:PulseAudioデーモン、、、:/ var / run / pulse:/ usr / sbin / nologinsystemd-timesync:x:123:127:systemd時間同期、、、:/ run / systemd:/ usr / sbin / nologintss:x:124:131 :TPMソフトウェアスタック、、、:/ var / lib / tpm:/ bin / falsetcpdump:x:125:132 ::/ nonexistent:/ usr / sbin / nologin_flatpak:x:126:133:Flatpakシステム全体のインストールヘルパー、 ,,:/ nonexistent:/ usr / sbin / nologinsystemd-coredump:x:999:999:systemd Core Dumper:/:/ usr / sbin / nologin
catコマンドを使用してLinuxのすべてのユーザーを一覧表示する
すでに述べたように、上記のエントリの最初のフィールドはユーザーを表します。すべてのフィールドが必要ではなく、ユーザー名のみを表示する場合は、次の方法が役立ちます。
3。カットコマンドを使用してユーザーを一覧表示する
「cut」コマンドは、ファイルの各行からセクション(またはフィールド)を削除するために使用されます。
Linuxシステムでcutコマンドを使用してすべてのユーザーを一覧表示するには、次のコマンドを実行します。
$ cut -d:-f1 / etc / passwd
このコマンドは、/ etc / passwdファイルのユーザー名のみを表示し、他のすべてのフィールドを無視します。
出力例:
rootdaemonbinsyssyncgamesmanlpmailnewsuucpproxywww-databackuplistircgnatsnobodysystemd-networksystemd-resolvesyslogmessagebus_aptuuiddavahi-autoipdusbmuxdnsmasqrtkitcups-pk-helperspeech-dispatcherwhoopsiekernoopssanedavahicolordhplipgeocluegcutコマンドを使用してLinuxのすべてのユーザーを一覧表示する
4。 awkコマンドを使用してLinuxのユーザーを印刷する
「awk」コマンドを使用して、Linuxのすべてのユーザーを一覧表示することもできます。
$ awk -F':''{print $ 1}' / etc / passwdこのコマンドは、ユーザーのみを表示し、他のすべての詳細を省略します。
awkコマンドを使用してLinuxのすべてのユーザーを一覧表示する
5。 compgenを使用するユーザーのリストを表示する
Compgen プログラム可能な完了機能を操作するためのBASHが組み込まれています。
compgenを使用してすべてのユーザーを一覧表示するには、次のコマンドを実行します。
$ compgen -u6。 getentコマンドを使用してすべてのユーザーを表示する
Linuxでユーザーを一覧表示する別の方法は、 "getent"を使用することです。 以下のようなコマンド:
$ getent passwdこのコマンドは/etc/ passwdファイルを読み取り、そのファイル内のすべてのユーザーを一覧表示します。
awkコマンドを使用してLinuxのすべてのユーザーを一覧表示する
getentコマンドの注目すべき利点の1つは、/ etc / passwdファイル内のユーザーだけでなく、特定のシステム上のすべての構成済みuserdbバックエンド(LDAPなど)のすべてのユーザーを一覧表示することです。
7。 「more」または「less」コマンドを使用してユーザーを一覧表示する
インタラクティブな読み取りのために特定のファイルを開くために使用されるコマンドはますます少なくなり、スクロールと検索が可能になります。
多かれ少なかれコマンドを使用してすべてのユーザーを印刷するには、次のコマンドを実行します。
$ more / etc / passwdまたは、
$ less / etc / passwd関連記事:
- Linuxでグループのメンバーを一覧表示する方法
- Linuxで現在ログインしているユーザーを見つける方法
- Linuxでユーザーアクティビティを監視する方法
- Linuxシステムへのユーザーのアクセスを制限する方法
- より多くの、より少ない、そしてほとんどのコマンドの違い
- UbuntuのユーザーにSudo権限を追加、削除、付与する方法
- Linuxでユーザーが属するグループを確認する方法
- Linuxで/etc/passwdファイルと/etc/groupファイルを編集する正しい方法
これがお役に立てば幸いです。