Linuxコマンドでユーザ作成(useradd)~デフォルト設定(Dオプション)~

本記事では、Linuxサーバのユーザ作成時のデフォルト値を設定するLinuxコマンドであるuseradd -Dについて紹介します。

結論
  • ユーザ作成時のデフォルトはuseraddコマンドにDオプションを指定して利用する。
  • コマンドの書式:useradd -D [オプション] [作成したいユーザ名]
    • -g [設定したいグループID]:メイングループのデフォルト値を変更したい際に利用
    • -b [設定したいホームディレクトリ]:ホームディレクトリのデフォルト値を変更したい際に利用
    • -s [設定したいログインシェル]:ログインシェルのデフォルト値を変更したい際に利用
    • -e [アカウント期限]:パスワード期限のデフォルト値を変更したい際に利用
    • -f [パスワード期限切れからユーザ使用不能までの日数]:パスワード期限切れからユーザ使用不能までの日数を変更したい際に利用
  • ユーザのデフォルト情報は設定ファイル/etc/default/useraddに記載される。

ユーザ作成時のデフォルト値の設定ファイルは/etc/default/useraddになります。
「CentOS Stream release 9」のデフォルトの内容は以下の通りです。この値を変更する場合にuseradd -Dコマンドを利用します。

[root@test01 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@test01 ~]#

それでは、具体的な使用方法について見ていきましょう。

コマンド文法

ユーザ作成時のデフォルト値を設定する際に利用するuseradd -Dコマンドの文法は以下の通りです。

useradd -D [オプション] [作成したいユーザ名]

オプション一覧は以下の通りです。(対象コマンドのmanコマンドの情報を参考)

オプション説明
-g [設定したいメイングループ名、またはID]ユーザが所属するメイングループを指定する際に利用する。
指定するグループ名、グループIDは存在しているものを指定する必要がある。
-b [設定したいホームディレクトリ]ユーザのホームディレクトリのデフォルト値を指定する際に利用する。
useraddコマンドでdオプションを指定しない場合、ホームディレクトリは/home/[設定したいホームディレクトリ]/[ユーザ名]の値となる。
-s [設定したいログインシェル]ユーザのログインシェルを指定する際に利用する。
オプションを指定しない場合、ログインシェルは/etc/default/useraddに指定されているデフォルト値が設定される。
-e [アカウント期限]ユーザのアカウント期限のデフォルト値を指定する際に利用する。
書式は”YYYY-MM-DD”で指定する。
-f [パスワード期限切れからユーザ使用不能までの日数]パスワード期限からアカウントが永久に無効化するまでの日数。
0:パスワード期限切れと同時に無効化
-1:アカウント無効化しない

使用例

具体的なコマンド実行結果を見ていきます。
利用する実行環境のOSは「CentOS Stream release 9」です。

事前情報として、デフォルト設定ファイル/etc/default/useraddの情報は以下の通りで、useradd -Dコマンドを利用して、設定値を変更します。

[root@test01 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@test01 ~]#

(gオプション:グループ指定)の場合

gオプションでグループIDを指定して、デフォルトのグループを変更します。

実行コマンド

実行コマンドは以下の通りです。gオプションを利用してグループ:user01を指定しています。

useradd -D -g user01

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# useradd -D -g user01
[root@test01 ~]#

設定確認結果

デフォルトのグループ名が変更されているかを確認します。設定ファイルである/etc/default/useradd内のGROUP属性の値を確認します。実行結果からgオプションで指定したグループ名:user01、グループID:1000に変更されています。

[root@test01 ~]# cat /etc/default/useradd | grep GROUP
GROUP=1000
[root@test01 ~]#

(bオプション:ホームディレクトリ指定)の場合

bオプションでグループIDを指定して、デフォルトのホームディレクトリを変更します。

実行コマンド

実行コマンドは以下の通りです。bオプションを利用してホームディレクトリのパスを/tmpに変更します。

useradd -D -b /tmp

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# useradd -D -b /tmp
[root@test01 ~]#

設定確認結果

デフォルトのグループ名が変更されているかを確認します。設定ファイルである/etc/default/useradd内のHOME属性の値を確認します。実行結果からbオプションで指定した/tmpに変更されています。

[root@test01 ~]# cat /etc/default/useradd | grep HOME
HOME=/tmp
[root@test01 ~]#

(sオプション:ログインシェル指定)の場合

sオプションでを指定して、デフォルトのログインシェルを変更します。

実行コマンド

実行コマンドは以下の通りです。sオプションを利用してログインシェル:/bin/shを指定しています。

useradd -D -s /bin/sh

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# useradd -D -s /bin/sh
[root@test01 ~]#

設定確認結果

デフォルトのログインシェルが変更されているかを確認します。設定ファイルである/etc/default/useradd内のSHELL属性の値を確認します。実行結果からsオプションで指定した/bin/shに変更されています。

[root@test01 ~]# cat /etc/default/useradd | grep SHELL
SHELL=/bin/sh
[root@test01 ~]#

(eオプション:アカウント期限指定)の場合

eオプションでを指定して、デフォルトのパスワード期限を変更します。

実行コマンド

実行コマンドは以下の通りです。eオプションを利用してアカウント期限:2025-01-01を指定しています。

useradd -D -e 2025-01-01

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# useradd -D -e 2025-01-01
[root@test01 ~]#

設定確認結果

デフォルトのアカウント期限が変更されているかを確認します。設定ファイルである/etc/default/useradd内のEXPIRE属性の値を確認します。実行結果からeオプションで指定した2025-01-01に変更されています。

[root@test01 ~]# cat /etc/default/useradd | grep EXPIRE
EXPIRE=2025-01-01
[root@test01 ~]#

(fオプション:パスワード期限切れからユーザ使用不能までの日数指定)の場合

fオプションでを指定して、デフォルトのパスワード期限切れからユーザ使用不能までの日数を変更します。

実行コマンド

実行コマンドは以下の通りです。fオプションを利用してパスワード期限切れからユーザ使用不能までの日数:100を指定しています。

useradd -D -f 100

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# useradd -D -f 100
[root@test01 ~]#

設定確認結果

デフォルトのパスワード期限切れからユーザ使用不能までの日数が変更されているかを確認します。設定ファイルである/etc/default/useradd内のINACTIVE属性の値を確認します。実行結果からfオプションで指定した100に変更されています。

[root@test01 ~]# cat /etc/default/useradd | grep INACTIVE
INACTIVE=100
[root@test01 ~]#

まとめ

今回はユーザ作成時のデフォルト設定で利用するLinuxコマンドgroupadd -Dについて紹介しました。
以下は設定方法のまとめになります。

  • groupaddコマンドの使用方法はgroupadd -D [オプション] [変更したいグループ名]
  • オプションとして以下の主に以下の2つが利用可能
    • -g [設定したいグループID]:メイングループのデフォルト値を変更したい際に利用
    • -b [設定したいホームディレクトリ]:ホームディレクトリのデフォルト値を変更したい際に利用
    • -s [設定したいログインシェル]:ログインシェルのデフォルト値を変更したい際に利用
    • -e [アカウント期限]:パスワード期限のデフォルト値を変更したい際に利用
    • -f [パスワード期限切れからユーザ使用不能までの日数]:パスワード期限切れからユーザ使用不能までの日数を変更したい際に利用

以上になります。ありがとうございました。

コメント

タイトルとURLをコピーしました