【Linux】ユーザー一覧をコマンドで表示し確認する方法

user

Linuxサーバーユーザーを一覧表示したいと思った事はないでしょうか?

サーバー管理者でユーザー管理する事は大切な業務の一つです。

その中でLinuxサーバーでユーザー一覧を表示して確認するにはコマンドを使用するのが一番です。

Linuxサーバーユーザー一覧をコマンドで表示するやり方を、現役エンジニアの筆者が教えます。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!

目次

Linuxのユーザー一覧をコマンドで表示し確認する方法

user

Linuxサーバーユーザーを作成すると「etc/passwd」のファイルに追記されます。このファイルを参照する事でユーザー一覧を表示し、確認する事が可能です。

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ftp-user:x:1000:1000::/home/ftp-user:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
mailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailman:/sbin/nologin
ftpuser:x:1001:1001::/home/ftpuser:/bin/bash
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
rdpuser:x:1002:1002::/home/rdpuser:/bin/bash
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
colord:x:998:995:User for colord:/var/lib/colord:/sbin/nologin
geoclue:x:997:994:User for geoclue:/var/lib/geoclue:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
testuser1:x:1003:1003::/home/testuser1:/bin/bash
testuser2:x:1004:1004::/home/testuser2:/bin/bash

ファイルの中身は「:」で区切られています。それぞれの意味は以下にまとめます。

ユーザー名:パスワード:ユーザーID:グループID:コメント:ホームディレクトリ:シェルの場所

ユーザー名一覧のみを抽出する方法

ユーザー名一覧のみを提出したい場合もあるかと思います。ユーザー名は1項目目にあるのでそこだけを抽出すれば効率化できます。

cut -d 区切り文字 -f 項目番号 /etc/passwd

cutコマンドを使用します。dオプションは区切り文字を指定します。fオプションは項目番号を指定します。

※区切り文字は1文字のみです。

今回は区切り文字は「:」で1項目目のユーザー名一覧が欲しいので1を指定します。

cut -d : -f 1 /etc/passwd

Linuxのcutコマンドを実行します。

[root@localhost ~]# cut -d : -f 1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
ftp-user
apache
mailman
ftpuser
tss
rdpuser
rtkit
colord
geoclue
pulse
gdm
mysql
testuser1
testuser2

1項目目のユーザー名一覧が表示されました。

特定のユーザーのみ表示する方法

特定のユーザーのみを表示する場合はgrepで検索します。

cat /etc/passwd | grep 表示したいユーザー名

ユーザー一覧表示させて、パイプでつなぎ、grepコマンドで抽出します。

[root@localhost ~]# cat /etc/passwd | grep testuser1
testuser1:x:1003:1003::/home/testuser1:/bin/bash

指定したユーザーのみ表示されています。

現在ログインしているユーザーを表示する方法

現在ログインしているユーザーを確認するコマンドは2つあります。

現在ログインしているユーザーを確認するコマンド2選
  • whoコマンド
  • usersコマンド
[root@localhost ~]# who
root     pts/0        2024-05-12 15:26 (192.168.0.11)
testuser1 pts/1        2024-05-12 16:23 (192.168.0.11)

whoコマンドでは現在ログインしているユーザーログインした日時IPアドレスなどが表示されています。

[root@localhost ~]# users
root testuser1

usersコマンドではログインしているユーザー名のみが表示されています。

user

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次