Linuxコマンドリファレンス

ユーザー管理

 ユーザー管理は、Linux のセキュリティと運用の基礎です。ユーザーとグループ、認証(パスワード)、権限委任(sudo)を正しく設計・運用することで、最小権限の原則を実現し、事故や不正操作を防げます。ここでは日常運用で頻出するコマンドを中心に、目的別に整理します。

よく使う設定ファイル

ファイル役割
/etc/passwdユーザーの基本情報(UID, GID, シェル, ホーム)
/etc/shadowパスワードハッシュと期限情報(一般ユーザーは不可読)
/etc/groupグループ定義と所属ユーザー
/etc/gshadowグループの機密情報
/etc/sudoers, /etc/sudoers.d/sudo の権限委任設定(編集は visudo 推奨)
/etc/login.defsuseradd などのデフォルト値
/etc/skel/新規ユーザー作成時にホームへ配布する初期ファイル

基本コマンド一覧(ユーザー・グループ操作)

コマンド説明
id [ユーザー名]UID/GID と所属グループを表示
whoami現在の実効ユーザー名を表示
groups [ユーザー名]所属グループを表示
getent passwd ユーザー名NSS を経由してユーザー情報を取得(LDAP 等にも対応)
getent group グループ名NSS を経由してグループ情報を取得

アカウント作成・削除・変更

コマンド説明
useradd ユーザー名新規ユーザーを作成(/etc/login.defs の規定に従う)
useradd -m -c コメント -s /bin/bash -G wheel ユーザー名ホーム作成・説明・デフォルトシェル・補助グループを指定して作成(RHEL系は wheel、Debian系は sudo が管理者グループの例)
passwd自分のパスワードを変更
passwd ユーザー名指定ユーザーのパスワードを設定/変更
passwd -e ユーザー名次回ログイン時にパスワード変更を強制(expire)
usermod -aG グループ ユーザー名補助グループへ追加(-G と併用時は -a を忘れない)
usermod -L ユーザー名アカウントをロック(ログイン不可)
usermod -U ユーザー名アカウントロックを解除
chsh -s シェル [ユーザー名]ログインシェルを変更(自分は非特権で可、他人は #)
chfn [ユーザー名]コメント(フルネーム等)を変更(ポリシーにより制限あり)
userdel ユーザー名ユーザーを削除(ホームは残る)
userdel -r ユーザー名ユーザーをホームごと削除(慎重に)

グループ作成・削除・管理

コマンド説明
groupadd グループ名新規グループを作成
groupdel グループ名グループを削除
groupmod -n 新名 旧名グループ名を変更
gpasswd -a ユーザー グループユーザーをグループに追加
gpasswd -d ユーザー グループユーザーをグループから削除
newgrp グループ名一時的に主グループを切り替え(新規作成ファイルの GID に影響)

パスワード・有効期限ポリシー

コマンド説明
chage -l ユーザー名パスワード期限・警告猶予などを確認
chage -M 90 -W 14 -I 7 ユーザー名最大利用日90日・期限14日前警告・猶予7日を設定
chage -E YYYY-MM-DD ユーザー名アカウント有効期限日を設定
passwd -l ユーザー名パスワードログインを無効化(パスワードをロック)
passwd -u ユーザー名パスワードロック解除

権限委任(sudo)と安全な編集

コマンド説明
sudo コマンド一時的に権限昇格してコマンドを実行(監査ログが残る)
sudo -l自分に許可された sudo 権限を確認
visudo/etc/sudoers を安全に編集(文法チェック付き)
vipw, vigrpasswd/group をロック付きで安全に編集
pwck, grpckpasswd/group の整合性チェック

ログイン状況の確認

コマンド説明
whoログイン中のユーザー一覧
wログイン中ユーザーと負荷の概要
last最近のログイン履歴(/var/log/wtmp)
lastlog直近ログインの概要

目的別レシピ(実務でそのまま使える最小セット)

目的
一般ユーザーを作成し、管理グループに追加(RHEL系の例)useradd -m -c "Taro Yamada" -s /bin/bash -G wheel taro → passwd taro
パスワードポリシーを設定chage -M 90 -W 14 -I 7 taro
既存ユーザーを管理グループに追加usermod -aG wheel taro
アカウントを一時停止/再開usermod -L taro / usermod -U taro
不要ユーザーを完全削除userdel -r taro
所属グループの確認id taro / groups taro
sudoers にグループを許可visudo で %wheel ALL=(ALL) ALL を有効化(Debian/Ubuntu は %sudo を使うことが多い)

運用上のヒントと注意点

  • 追加グループ付与は usermod -aG(-a を忘れると補助グループが上書きされる)。
  • 管理者権限は su ではなく sudo を基本に。権限の粒度調整と監査ログが利点。
  • 削除は userdel -r の前に業務データの所在を確認(共有領域の所有者変更など)。
  • 新規作成の既定値は /etc/login.defs と /etc/skel を整えると運用が安定。
  • パスワード失効や有効期限は chage で一元管理し、定期的に chage -l で点検。