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 denied | sudo権限がない | sudo useradd で実行 |
| user already exists | 同名ユーザーが存在 | id username で確認 |
| group does not exist | 指定グループが未作成 | sudo groupadd で事前作成 |
| invalid shell | シェルが存在しない | cat /etc/shells で確認 |
関連コマンド
usermod:既存ユーザーの設定変更userdel:ユーザーの削除passwd:パスワードの設定・変更groupadd:グループの作成