【Macユーザー必見】Macでユーザー一覧を確認する完全ガイド | GUI・コマンド・管理術

Mac

Macを使っていて、こんな疑問や不安を感じたことはありませんか?

  • 「このMacには実際に何人のユーザーアカウントがあるの?」
  • 「知らないアカウントが作られていないか心配」
  • 「セキュリティのためにユーザー管理をきちんとしたい」
  • 「ターミナルでもユーザー情報を確認できるって本当?」

実は、Macには目に見えない多くのシステムユーザーが存在し、一般的なユーザーアカウント以外にも様々な種類のアカウントが動作しています。

この記事では、Macでユーザー一覧を確認する方法を、GUI操作からコマンドライン、さらには実践的な管理テクニックまで包括的に解説します。

適切なユーザー管理は、Macのセキュリティと快適性を向上させる重要な要素です。

スポンサーリンク

Macのユーザーアカウントの種類を理解しよう

まず、Macに存在するユーザーアカウントの種類を把握しましょう。

一般ユーザーアカウント

種類説明権限レベル用途
管理者(Administrator)システム全体を管理可能最高権限メインユーザー、システム設定変更
標準ユーザー(Standard)一般的な操作のみ可能制限あり家族メンバー、セカンダリアカウント
ゲストユーザー一時的な利用専用最小権限来客者、短期間の利用

システムユーザーアカウント

Macには、macOSが内部的に使用する多数のシステムユーザーが存在します:

プレフィックス役割
__spotlight, _windowserverシステムサービス用
daemondaemonシステムプロセス管理
nobodynobody権限を持たない処理用

これらのシステムユーザーは通常のログイン画面には表示されませんが、システムの正常な動作に必要不可欠です。

GUI操作でユーザー一覧を確認する方法

Screenshot

macOS Ventura (13.0) 以降の場合

  1. Apple メニュー「システム設定」 をクリック
  2. サイドバーから 「ユーザとグループ」 を選択
  3. 左側のパネルに表示されるのが、現在のユーザーアカウント一覧です

macOS Monterey (12.0) 以前の場合

  1. Apple メニュー「システム環境設定」 をクリック
  2. 「ユーザとグループ」 をクリック
  3. 左側のリストで各ユーザーアカウントを確認できます

GUIで確認できる情報

  • ユーザー名とフルネーム
  • アカウントの種類(管理者・標準・ゲスト)
  • ログイン項目
  • Apple ID との連携状況
  • ペアレンタルコントロール設定

コマンドラインでユーザー一覧を確認する方法

より詳細で技術的な情報を得るには、ターミナルを使用します。

基本的なユーザー一覧表示

すべてのローカルユーザーを表示:

dscl . list /Users

この結果には多数のシステムユーザーが含まれるため、実用的ではない場合があります。

人間が使用するユーザーのみを表示

システムユーザーを除外した一覧:

dscl . list /Users | grep -v '^_'

UID(ユーザーID)が500以上のユーザーのみ表示:

dscl . -list /Users UniqueID | awk '$2 >= 500 { print $1 }'

一般的に、UID 500以上は人間が使用するアカウントです。

詳細なユーザー情報を表示

特定ユーザーの詳細情報:

dscl . -read /Users/ユーザー名

すべてのユーザーの詳細情報:

dscl . -readall /Users

ログイン可能なユーザーを確認

シェルが設定されているユーザー:

dscl . -list /Users UserShell | grep -v '/usr/bin/false'

現在ログイン中のユーザー情報

現在のユーザー名:

whoami

現在のユーザーの詳細情報:

id

ログイン中のすべてのユーザー:

who

実践的なユーザー管理術

不要なアカウントの発見

#!/bin/bash
echo "=== UID 500以上のユーザーアカウント ==="
dscl . -list /Users UniqueID | awk '$2 >= 500 { print $1 "\t(UID: " $2 ")" }'

echo "=== 管理者権限を持つユーザー ==="
dscl . -read /Groups/admin GroupMembership | cut -d' ' -f2-

最近のログイン履歴確認

# 最近のログイン履歴
last | head -20

アカウントの作成日時確認

# 特定ユーザーの作成日時
dscl . -read /Users/ユーザー名 dsAttrTypeNative:accountPolicyData

ユーザーアカウントの効果的な管理

管理者権限の見直し

不要な管理者権限を持つユーザーがいないか定期的に確認しましょう:

# 管理者グループのメンバー確認
dscl . -read /Groups/admin GroupMembership

ゲストアカウントの無効化

セキュリティ向上のため、使用しない場合はゲストアカウントを無効にします:

  1. システム設定ユーザとグループ
  2. ゲストユーザー を選択
  3. 「ゲストユーザーにこのコンピュータへのログインを許可」 のチェックを外す

パスワードポリシーの確認

# パスワードポリシーの確認
pwpolicy getaccountpolicies

トラブルシューティング(よくある問題と解決法)

問題1: 「dscl」コマンドで「Permission denied」エラー

原因: 管理者権限が必要な情報にアクセスしようとしている

解決法:

sudo dscl . list /Users

問題2: ユーザー一覧に表示されないアカウントがある

原因: ローカルディレクトリ以外(ネットワークアカウント等)に存在する可能性

確認方法:

# すべてのディレクトリのユーザーを表示
dscl localhost list /Search/Users

問題3: システムユーザーと一般ユーザーの区別ができない

解決法: UIDで判断する

# UID別にユーザーを分類
echo "=== システムユーザー (UID < 500) ==="
dscl . -list /Users UniqueID | awk '$2 < 500 { print $1 "\t" $2 }'

echo "=== 一般ユーザー (UID >= 500) ==="
dscl . -list /Users UniqueID | awk '$2 >= 500 { print $1 "\t" $2 }'

自動化とスクリプト活用

ユーザー監査の自動化

定期的なユーザーアカウント監査のためのスクリプト例:

#!/bin/bash
# user_audit.sh - ユーザーアカウント監査スクリプト

echo "===================="
echo "Macユーザーアカウント監査レポート"
echo "実行日時: $(date)"
echo "===================="

echo "1. 一般ユーザーアカウント一覧:"
dscl . -list /Users UniqueID | awk '$2 >= 500 { print "  - " $1 " (UID: " $2 ")" }'

echo "2. 管理者権限を持つユーザー:"
ADMINS=$(dscl . -read /Groups/admin GroupMembership 2>/dev/null | cut -d' ' -f2-)
for admin in $ADMINS; do
    echo "  - $admin"
done

echo "3. ログインシェルが設定されているユーザー:"
dscl . -list /Users UserShell | grep -v '/usr/bin/false' | while read user shell; do
    echo "  - $user: $shell"
done

echo "4. 最近のログイン履歴(直近5件):"
last | head -5 | while read line; do
    echo "  $line"
done

echo "===================="
echo "監査完了"

このスクリプトを cronlaunchd で定期実行するように設定できます。

まとめ

Macのユーザーアカウント管理は、システムセキュリティの基盤となる重要な要素です。

覚えておきたい基本コマンド

# 基本的なユーザー一覧
dscl . list /Users | grep -v '^_'

# 一般ユーザーのみ表示
dscl . -list /Users UniqueID | awk '$2 >= 500 { print $1 }'

# 管理者権限ユーザー確認
dscl . -read /Groups/admin GroupMembership

# 現在のユーザー情報
whoami && id

適切なユーザー管理は、Macを安全かつ効率的に運用するための基本です。

コメント

タイトルとURLをコピーしました