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

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

Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:2,246 / 総アクセス数:1,599 views

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権限を付与する場合は、こちらのリンク
作成したユーザを削除したい場合はこちらのリンクを参照してください。

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ


以上で本記事の解説を終わります。
よいITライフを!

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

人気記事


記事を評価

Thanks!
目次
Scroll to Top