ユーザー・グループ管理

Linux useraddコマンド入門|ユーザーを追加・管理する

Linux useradd ユーザー管理

Linux useraddコマンド入門
ユーザーを追加・管理する

useraddコマンドは、Linuxで新しいユーザーアカウントを作成するための基本コマンドです。ホームディレクトリやグループの設定方法まで実践的に解説します。

こんな人向けの記事です

  • Linuxサーバーでユーザーを追加・管理したい人
  • マルチユーザー環境を構築したい人
  • サービス用のシステムユーザーを作成したい人

Step 1useraddの基本的な使い方

useraddコマンドでユーザーを作成するには、sudo権限が必要です。基本構文は以下のとおりです。

ターミナル
# 基本的なユーザー作成(ホームディレクトリ付き)
sudo useradd -m alice

# パスワードを設定
sudo passwd alice
-m オプションを忘れずに

-m を付けないとホームディレクトリが作成されません。ほとんどの場合 -m は必須です。

Step 2主要オプション一覧

useraddでよく使うオプションをまとめます。

オプション説明
-mホームディレクトリを作成useradd -m alice
-dホームディレクトリのパスを指定useradd -m -d /opt/alice alice
-sデフォルトシェルを指定useradd -m -s /bin/zsh alice
-gプライマリグループを指定useradd -m -g developers alice
-G追加グループを指定(複数可)useradd -m -G sudo,docker alice
-cコメント(フルネーム等)useradd -m -c "Alice Smith" alice
-uユーザーIDを指定useradd -m -u 1500 alice
-rシステムユーザーとして作成useradd -r -s /sbin/nologin app
-eアカウントの有効期限useradd -m -e 2025-12-31 temp

Step 3ホームディレクトリとシェルの設定

ユーザーのホームディレクトリとログインシェルを細かく設定できます。

ターミナル
# カスタムパスにホームディレクトリを作成
sudo useradd -m -d /home/developers/alice alice

# zshをデフォルトシェルに設定
sudo useradd -m -s /bin/zsh alice

# ログイン不可のサービスユーザー
sudo useradd -m -s /sbin/nologin serviceuser
利用可能なシェルの確認

cat /etc/shells で、システムにインストールされているシェル一覧を確認できます。

Step 4グループの設定

ユーザーをグループに所属させることで、ファイルのアクセス権限を効率的に管理できます。

ターミナル
# グループを事前に作成
sudo groupadd developers

# プライマリグループと追加グループを設定
sudo useradd -m -g developers -G sudo,docker alice

# 既存ユーザーにグループを追加する場合はusermod
sudo usermod -aG sudo alice
-aG の -a を忘れない

usermod -G で -a を付けないと、既存の追加グループがすべて上書きされます。必ず -aG を使いましょう。

Step 5実践的な使用例

よくあるユースケース別のユーザー作成例を紹介します。

ターミナル
# 一般的な開発者ユーザー
sudo useradd -m -s /bin/zsh -G sudo,docker -c "Alice Smith" alice
sudo passwd alice

# Webアプリケーション用サービスユーザー
sudo useradd -r -m -d /var/www/myapp -s /sbin/nologin myapp

# 期限付きの一時ユーザー
sudo useradd -m -e 2025-12-31 -c "Temporary Contractor" tempuser
sudo passwd tempuser

# ユーザー情報の確認
id alice
getent passwd alice

Step 6トラブルシューティング

useraddコマンドでよくあるエラーと解決方法です。

エラー原因解決策
Permission deniedsudo権限がないsudo useradd で実行
user already exists同名ユーザーが存在id username で確認
group does not exist指定グループが未作成sudo groupadd で事前作成
invalid shellシェルが存在しないcat /etc/shells で確認
関連コマンド
  • usermod:既存ユーザーの設定変更
  • userdel:ユーザーの削除
  • passwd:パスワードの設定・変更
  • groupadd:グループの作成