【Linux】ユーザ追加とパスワード設定方法(useradd,passwd)

【Linux】ユーザ追加とパスワード設定方法(useradd,passwd)

記事の文字数:2581

Linuxでのユーザー管理は、システム運用の基盤となる重要なスキルです。本記事ではLinuxにユーザを作成し、パスワードを設定する方法を解説します。ユーザ作成はuseraddコマンドを利用し、パスワード設定はpasswdコマンドを用います。

Linuxシステムにおけるユーザー管理は、セキュリティや運用効率を確保するうえで非常に重要です。ユーザーやグループはアクセス権限の単位であり、ファイルの所有権や実行可能な操作を制御する役割を担います。

Linux useraddコマンドによるユーザ作成

Linuxでユーザ作成をする際はroot権限でuseraddおよびpasswdコマンド使用します。 「ユーザ名:test-user」を例に作成方法を解説します。

useraddコマンドの初期設定確認

まず以下コマンドでuseraddの初期設定を確認します。

sudo useradd -D

以下のように出力されることを確認してください。

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_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-usertest-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系でよく利用される。

かみ砕いて説明すると以下の通りです。

useraddadduser
対話なしでユーザを作成する。対話形式でユーザを追加する。

adduserの使い方を知りたい場合はこちらのリンクを参照してください。

まとめ

  • useraddコマンドの-Dオプションでユーザ追加の初期設定を確認できる。
  • -mオプションでホームディレクトリ作成を指定し、-sオプションでログインシェルを指定できる。
  • 作成したユーザは/etc/passwdに追記される。
  • 別途passwdコマンドでパスワードを指定する。

追加したユーザにsudo権限を付与する場合は、こちらのリンク
作成したユーザを削除したい場合はこちらのリンクを参照してください。


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top