useradd 概要
`useradd` コマンドは、ユーザーのアカウント情報を `/etc/passwd`、`/etc/shadow`、`/etc/group`、`/etc/gshadow` などのシステムファイルに追加し、ユーザーのホームディレクトリを作成し、基本設定ファイル(スケルトンファイル)をコピーするなどの作業を実行します。このすべてのプロセスには管理者権限(`sudo`)が必要です。
useradd の主要な役割
`useradd` コマンドは主に次の目的で使用されます:
主要な活用分野
- 新しいユーザーの登録: システムに新しい一般ユーザーを追加し、ログインやファイルアクセスを許可します。
- サービスアカウントの作成: 特定のアプリケーションやサービスが動作する際に使用する非ログインアカウントを作成します。
- セキュリティ管理: 各ユーザーに固有のアカウントを付与することで、システムアクセスを制御し、責任を強化します。
ユーザーアカウント作成時の主要な構成要素
ユーザーアカウントが作成されると、次の主要な構成要素が設定されます:
主要なアカウント構成要素
- ユーザー名 (Username): アカウントの固有識別子で、ログイン時に使用されます。
- ユーザーID (UID): システムがユーザーを識別するための数値IDで、`/etc/passwd` に記録されます。
- 基本グループ (Primary Group): ユーザーが作成されるときに自動的に割り当てられる主グループです。
- 補助グループ (Supplementary Groups): ユーザーが追加的に属することができるグループです。
- ホームディレクトリ (Home Directory): ユーザーの個人ファイルが保存される場所です。通常 `/home/username` 形式です。
- ログインシェル (Login Shell): ユーザーがログインしたときに実行される基本シェルプログラムです。 (例: `/bin/bash`, `/bin/sh`, `/bin/false`)
- パスワード: ユーザー認証に使用され、`passwd` コマンドを通じて別途設定する必要があります。
📂 基本設定ファイル (スケルトンディレクトリ)
/etc/skel
新しいユーザーアカウントが作成されると、ユーザーのホームディレクトリにはあらかじめ定義された基本設定ファイル(例: `.bashrc`, `.profile`)がコピーされます。これらのファイルは通常 `/etc/skel` ディレクトリに存在し、これをスケルトンディレクトリと呼びます。
主要な useradd コマンドオプション
`useradd` コマンドは、ユーザーのホームディレクトリ、シェル、グループ、期限日など、さまざまなアカウント属性を設定できるオプションを提供します。
1. アカウント基本設定
2. グループおよび UID/GID 設定
3. アカウントの期限およびその他
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`useradd` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`useradd` コマンドのさまざまな活用例を通じて、新しいユーザーアカウントを作成し、属性を設定する方法を学びましょう。
新しいユーザーアカウントの作成 (基本設定)
sudo useradd testuser
`testuser` という新しいユーザーアカウントを作成します。このアカウントのホームディレクトリとパスワードはまだ設定されていません。
ホームディレクトリとともに新しいユーザーアカウントを作成
sudo useradd -m devuser
sudo passwd devuser
`devuser` という新しいユーザーアカウントを作成し、`/home/devuser` ホームディレクトリを作成し、`/etc/skel` の基本設定ファイルをコピーします。アカウント作成後に `passwd` コマンドでパスワードを設定する必要があります。
特定のホームディレクトリとシェルを持つユーザーの作成
sudo useradd -m -d /var/www/webuser -s /bin/false webuser
`webuser` というアカウントを作成し、ホームディレクトリを `/var/www/webuser` に、基本シェルを `/bin/false`(ログイン不可)に設定します。ウェブサービス用アカウントに適しています。
ユーザーを複数のグループに追加
sudo useradd -m -G sudo,www-data -c "Administrator for Web" adminuser
sudo passwd adminuser
`adminuser` アカウントを作成し、`sudo` グループと `www-data` グループに追加し、ユーザーの説明も設定します。
期限日があるユーザーアカウントの作成
sudo useradd -m -e 2025-12-31 tempuser
sudo passwd tempuser
`tempuser` アカウントを作成し、ホームディレクトリを作成し、2025年12月31日にアカウントが期限切れになるように設定します。臨時作業者アカウントに便利です。
現在の useradd デフォルトの確認
useradd -D
新しいユーザーを作成する際に適用されるデフォルト(基本グループ、ホームディレクトリ接頭辞、シェルなど)を確認します。