目次
はじめに
Linuxシステムの運用においてユーザーやグループの管理(アカウント管理)は欠かせない作業です。新しいユーザーを追加したり、不要なアカウントを削除したり、適切なパーミッションを設定することは、セキュリティと運用の両面で非常に重要です。
この記事では、Linuxでのアカウント管理に必要な基本コマンドや設定ファイルについて詳しく解説します。
1. ユーザーアカウントの追加・変更・削除
ユーザーを追加する:useradd
sudo useradd -m -s /bin/bash newuser
-m:ホームディレクトリを作成-s:ログインシェルの指定(例:/bin/bash)
パスワードの設定も忘れずに:
sudo passwd newuser
ユーザー情報を変更する:usermod
sudo usermod -l newname olduser # ユーザー名の変更
sudo usermod -s /bin/zsh user1 # シェルの変更
sudo usermod -G developers user1 # グループの変更
ユーザーを削除する:userdel
sudo userdel user1 # ユーザーのみ削除
sudo userdel -r user1 # ホームディレクトリごと削除
2. グループの管理
グループを追加:groupadd
sudo groupadd developers
グループ名変更:groupmod
sudo groupmod -n dev developers
グループ削除:groupdel
sudo groupdel developers
ユーザーを複数グループに所属させる
sudo usermod -aG wheel,dev user1
-aG:現在のグループに加えて追加する(上書き防止)
3. /etc/default/useradd の役割
この設定ファイルには、新しくユーザーを追加する際のデフォルト値が記載されています。
cat /etc/default/useradd
例:
SHELL=/bin/bash
HOME=/home
INACTIVE=-1
SHELL:デフォルトのログインシェルHOME:ホームディレクトリのベースパス
4. /etc/skel/ の活用(スケルトンディレクトリ)
ユーザーを追加すると、そのホームディレクトリには /etc/skel/ の内容がコピーされます。
カスタマイズ例:
echo "Welcome to the system" > /etc/skel/welcome.txt
→ 以後、useradd で作成された全ユーザーのホームディレクトリに welcome.txt が入ります。
5. アカウント関連ファイルの構造と意味
| ファイル | 役割 |
|---|---|
/etc/passwd | ユーザー情報(ユーザー名、UID、GID、ホームディレクトリなど) |
/etc/shadow | パスワードのハッシュなどのセキュア情報 |
/etc/group | グループ名とGID、所属ユーザー |
/etc/gshadow | グループパスワード情報(通常無効) |
コマンドで確認する例:
getent passwd username
getent group groupname
6. ユーザー情報を取得するコマンド
id:UID、GID、所属グループを確認
id user1
getent:データベース統合的にユーザー・グループを参照可能
getent passwd user1
getent group developers
まとめ
| 操作 | コマンド例 |
|---|---|
| ユーザー追加 | useradd -m -s /bin/bash user1 |
| パスワード設定 | passwd user1 |
| ユーザー変更 | usermod -l newname olduser |
| ユーザー削除 | userdel -r user1 |
| グループ追加 | groupadd dev |
| グループ変更 | groupmod -n newname oldname |
| グループ削除 | groupdel dev |
よくある質問(FAQ)
Q. ユーザーがログインできないのはなぜ?
→ /etc/shadow の内容、シェルの設定(/sbin/nologin など)を確認しましょう。
Q. 追加したはずのグループに反映されていない?
→ usermod -aG で追加した後、ログアウト→ログインし直す必要があります。

コメント