Linuxはマルチユーザー対応のOSです。複数人でサーバーを管理する場合や、アプリごとに専用ユーザーを作る場合など、ユーザー管理は実務で必ず使うスキルです。
ユーザー情報はどこに保存される?

# ユーザー情報を確認
$ cat /etc/passwd | grep username
# 例:username:x:1001:1001::/home/username:/bin/bash
# フィールド: ユーザー名:x:UID:GID:GECOS:ホームDir:シェル
# 自分のUID・GID・グループを確認
$ id
# uid=1000(user) gid=1000(user) groups=1000(user),27(sudo)
# 現在ログイン中のユーザー一覧
$ who
$ w
ユーザーの作成
Debian/Ubuntu系では adduser(対話式の高レベルコマンド)と useradd(低レベルコマンド)の2種類があります。通常は adduser が使いやすくおすすめです。
# adduser:対話形式でユーザー作成(推奨)
# ホームディレクトリ・パスワード設定まで自動で行う
$ sudo adduser alice
# useradd:オプションで詳細指定(スクリプト向き)
# -m でホームDirを作成、-s でログインシェルを指定
$ sudo useradd -m -s /bin/bash alice
# useradd 後はパスワードを別途設定する必要がある
$ sudo passwd alice
ユーザーの変更・グループへの追加
usermod でユーザーの設定を変更できます。グループへの追加では -a(append)オプションが必須です。-a なしで -G を使うと既存の所属グループがすべて上書きされてしまいます。
# sudoグループに追加(-a は必須!忘れると既存グループが消える)
$ sudo usermod -aG sudo alice
# 複数グループに同時追加
$ sudo usermod -aG sudo,www-data alice
# ログインシェルを変更
$ sudo usermod -s /bin/bash alice
# ユーザー名を変更
$ sudo usermod -l newname oldname
# ホームディレクトリを変更(-m で実際に移動も行う)
$ sudo usermod -d /new/home -m alice
ユーザーの削除
# ユーザーを削除(ホームディレクトリは残る)
$ sudo userdel alice
# ユーザーとホームディレクトリを完全削除(-r = remove home)
$ sudo userdel -r alice
# adduser で作成したユーザーは deluser で削除
$ sudo deluser alice
$ sudo deluser --remove-home alice # ホームDirも削除
グループの管理
# グループを作成
$ sudo groupadd developers
# グループにユーザーを追加
$ sudo usermod -aG developers alice
# グループのメンバーを確認
$ getent group developers
# グループを削除
$ sudo groupdel developers
# 自分の所属グループを確認
$ groups
コマンド早見表

sudo権限を持つユーザーの確認
# sudoグループのメンバーを確認
$ getent group sudo
# または
$ cat /etc/group | grep sudo
# 特定ユーザーのsudo権限を確認
$ sudo -l -U alice
まとめ
- ユーザー情報は
/etc/passwd(アカウント情報)・/etc/shadow(パスワード)・/etc/group(グループ)で管理 - Ubuntu/Debian系では
adduser(対話式・推奨)とuseradd(低レベル)の2種類がある usermod -aG グループ名 ユーザー名の-aは必須! 忘れると既存グループが消えるuserdel -rでホームディレクトリごと削除(データが消えるので慎重に)id ユーザー名でUID・GID・所属グループを確認
関連記事
📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。



コメント