本記事では、Linuxサーバのユーザ作成時のデフォルト値を設定するLinuxコマンドであるuseradd -Dについて紹介します。
ユーザ作成時のデフォルト値の設定ファイルは/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 [パスワード期限切れからユーザ使用不能までの日数]:パスワード期限切れからユーザ使用不能までの日数を変更したい際に利用
以上になります。ありがとうございました。
コメント