
Linuxシステムにおけるユーザー管理は、セキュリティや運用効率を確保するうえで非常に重要です。ユーザーやグループはアクセス権限の単位であり、ファイルの所有権や実行可能な操作を制御する役割を担います。
Linux useraddコマンドによるユーザ作成
Linuxでユーザ作成をする際はroot権限でuseradd
およびpasswd
コマンド使用します。
「ユーザ名:test-user
」を例に作成方法を解説します。
useraddコマンドの初期設定確認
まず以下コマンドでuseradd
の初期設定を確認します。
sudo useradd -D
以下のように出力されることを確認してください。
GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no
各項目の意味は以下の通りになります。
項目 | 内容 |
---|---|
GROUP | グループID。 |
HOME | ホームディレクトリの作成場所。 |
INACTIVE | パスワード期限が切れてから、アカウントが無効になるまでの期間 。(-1)は期限無し。 |
EXPIRE | パスワードの有効期限。値が設定されていない場合は無期限。 |
SHELL | ログイン用のシェル。 |
SKEL | ホームディレクトリ作成時にコピーするファイルを格納するディレクトリを設定。 |
CREATE_MAIL_SPOOL | メールスプールの作成有無。 |
useraddコマンドでユーザ作成
初期設定を確認したら、ユーザ(test-user
)を作成します。
以下コマンドの場合は-m
でホームディレクトリの作成を明示し、-s
でログインシェルを指定しました。
sudo useradd -m -s /bin/bash test-user
オプション | 意味 |
---|---|
-m | ユーザのホームディレクトリを作成 |
-s | ユーザのログインシェルを指定 |
オプションを指定しない場合はデフォルトの設定が適用されます。
passwdコマンドでパスワード設定
以下コマンドでパスワードを設定します。
sudo passwd test-user
設定するパスワードを入力してください。
New password:Retype new password:
/etc/passwdから作成ユーザ確認
作成したユーザは、/etc/passwd
ファイルから確認できます。
cat /etc/passwd | grep test-user
以下のように表示されることを確認します。
test-user:x:1003:1004::/home/test-user:/bin/bash
:
で区切られた各項目の意味は以下の通りです。
項目 | 意味 |
---|---|
test-user | ユーザ名 |
x | 暗号化されたパスワード。「 x 」はシャドウパスワードを使用している事を意味する。 |
1003 | ユーザID |
1004 | グループID |
(空白) | コメント。コメントがない場合は表示されない。 |
/home/test-user | test-userのホームディレクトリ |
/bin/bash | ログインシェル |
ユーザ作成後、ログイン確認
su
でtest-userにログインします。
su - test-user
パスワードを入力します。
Password:
ログイン後、ユーザがtest-user
になっていることを確認します。
whoami
実行結果が、以下の通り表示されればOKです。
test-user
ホームディレクトリが作成されていることを確認します。
ls -ld /home/test-user
実行結果が、以下のように表示されればOKです。
drwxr-xr-x 2 test-user test-user 4096 Jun 12 00:00 /home/test-user
useraddコマンドの主なオプション一覧
useraddには様々なオプションが用意されています。
オプション | 説明 | 使用例 |
---|---|---|
-m | ホームディレクトリを作成する | useradd -m testuser |
-M | ホームディレクトリを作成しない | useradd -M sysuser |
-d | 特定のホームディレクトリを指定 | useradd -d /opt/home testuser |
-s | ログインシェルを指定 | useradd -s /bin/bash testuser |
-c | コメント(説明)を追加 | useradd -c "Developer" devuser |
-u | ユーザーID(UID)を指定 | useradd -u 1500 customuser |
-g | プライマリグループを指定 | useradd -g staff newuser |
-G | セカンダリグループを指定 | useradd -G wheel,devs newuser |
-r | システムアカウントを作成 | useradd -r sysaccount |
-e | アカウント有効期限を設定 | useradd -e 2025-12-31 limiteduser |
-f | パスワード失効後の非アクティブ日数を設定 | useradd -f 7 tempuser |
-D | デフォルト設定を表示 | useradd -D |
Linux useraddとadduserの違い
Linuxでユーザーを追加する際には主に2種類のコマンドがあります。
* useradd
コマンド
-
低レベルのユーティリティであり、移植性が高くスクリプトに組み込みやすい。
-
実行時に以下のタスクを行う:
/etc/passwd
へのエントリ追加/etc/shadow
への暗号化パスワード情報の追加- 必要に応じてホームディレクトリの作成/編集
* adduser
コマンド
useradd
のラッパーで、Perlスクリプトとして提供されることが多い。- 対話的にユーザー情報(フルネーム、電話番号など)を入力できる。
useradd
に比べて高レベルで扱いやすいが、環境によっては存在しないこともある。- Debian/Ubuntu系でよく利用される。
かみ砕いて説明すると以下の通りです。
useradd | adduser |
---|---|
対話なしでユーザを作成する。 | 対話形式でユーザを追加する。 |
adduserの使い方を知りたい場合はこちらのリンクを参照してください。
まとめ
- useraddコマンドの
-D
オプションでユーザ追加の初期設定を確認できる。 -m
オプションでホームディレクトリ作成を指定し、-s
オプションでログインシェルを指定できる。- 作成したユーザは
/etc/passwd
に追記される。 - 別途passwdコマンドでパスワードを指定する。
追加したユーザにsudo権限を付与する場合は、こちらのリンクを
作成したユーザを削除したい場合はこちらのリンクを参照してください。
以上で本記事の解説を終わります。
よいITライフを!