アカウント管理の基本操作をマスターしよう

目次

はじめに

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 で追加した後、ログアウト→ログインし直す必要があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次