0Pricing
Cyber Security Academy · レッスン

ユーザーとグループの管理

ユーザーとグループの追加・削除・監査、sudoの設定、最小権限の原則の適用を行います。

「ユーザーとグループの管理」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

Linuxのユーザーモデル

LinuxはマルチユーザーOSです。すべてのプロセスは特定のユーザーとして実行されます。ユーザーとグループを理解することは、アクセス制御と権限分離の基本です。

/etc/passwdファイル

/etc/passwdには、ユーザー名、UID、GID、ホームディレクトリ、シェルなどのユーザーアカウント情報が保存されています。パスワードは(ハッシュとして)/etc/shadowに保存され、rootだけが読み取れます。

cat /etc/passwd
# format: username:x:UID:GID:comment:home:shell

ユーザーの作成と管理

主なコマンド:

useradd -m -s /bin/bash alice   # create user with home dir
passwd alice                    # set password
usermod -aG sudo alice          # add to sudo group
userdel -r alice                # delete user and home dir

グループとアクセス制御

グループを使うと、複数のユーザーでパーミッションを共有できます。1人のユーザーは複数の補助グループに所属できます。プライマリグループはユーザーの作成時に設定され、セカンダリグループによってファイルやデバイスへの追加アクセスが付与されます。

groupadd developers
usermod -aG developers bob
id bob                          # show UID, GID, groups

/etc/shadowファイル

/etc/shadowには、ハッシュ化されたパスワードとパスワードの有効期限に関する情報が含まれています。読み取れるのはrootだけです。ハッシュ形式は$id$salt$hashで、idはアルゴリズムを示します(6=SHA-512、2y=bcrypt)。

sudo cat /etc/shadow
# $6$salt$hash = SHA-512

最小権限の原則

各ユーザーとサービスは、必要最低限のパーミッションだけで実行する必要があります。絶対に必要な場合を除き、アプリケーションをrootとして実行しないでください。ログインシェルを持たず、ホームディレクトリへのアクセスが制限された専用のサービスアカウントを使用します。

sudoとsuの比較

sudoは、昇格された権限で単一のコマンドを実行し、その操作を記録します。suは、別のユーザー(通常はroot)に切り替え、セッション全体をそのユーザーとして実行します。監査しやすいsudoを優先してください。昇格されたすべてのコマンドが/var/log/auth.logに記録されます。

sudo apt update              # single command as root
sudo -u postgres psql        # run as specific service user
su - alice                   # switch to alice (full login)

sudoersの設定

/etc/sudoersファイル(visudoで編集します)は、どのユーザーがどのコマンドをrootとして実行できるかを制御します。sudoを全面的に許可するのではなく、細かく権限を付与してください。例として、deployユーザーにはnginxの再起動だけを許可します。

visudo
# deploy ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx

アカウントのロックと有効期限設定

使用していないアカウントは削除せず、無効化してください(監査証跡を保持できます)。

passwd -l alice              # lock account
usermod -e 2024-12-31 alice  # set expiry date
chage -l alice               # view password aging info

サービスアカウント

アプリケーションは、次の条件を満たす専用のサービスアカウントで実行してください。対話的なログインシェル(/usr/sbin/nologin)を持たないこと、ホームディレクトリへの書き込みアクセスがないこと、所属するグループを最小限にすることです。Webサーバーやデータベースをrootとして実行してはいけません。

ユーザーアクティビティの監査

ログを通じてユーザーの操作を監視します。

last                        # recent logins
lastb                       # failed login attempts
journalctl _UID=1000        # journal entries for UID 1000
grep sudo /var/log/auth.log # sudo usage

確認問題: ユーザー管理

Linuxでハッシュ化されたパスワードが保存され、rootだけが読み取れるファイルはどれですか?

レッスンのまとめ

Linuxのユーザーとグループの管理では、UID、GID、グループ所属によってアクセスを制御します。useradd、usermod、groupaddを使用します。最小権限の原則に従い、ログインシェルを持たないサービスアカウントを使用してください。監査しやすいようにsuではなくsudoを使用します。不審なアクティビティがないか/var/log/auth.logを監視してください。

よくある質問

「ユーザーとグループの管理」レッスンは無料ですか?

はい。「ユーザーとグループの管理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「ユーザーとグループの管理」で何を学びますか?

ユーザーとグループの追加・削除・監査、sudoの設定、最小権限の原則の適用を行います。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「ユーザーとグループの管理」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ファイルの権限と所有権
  2. ユーザーとグループの管理
  3. SSHの堅牢化と鍵ベース認証
  4. iptablesとUFWのファイアウォールルール
← Cyber Security Academyに戻る