ユーザーの作成について
ユーザーを作成したい場合に、useraddコマンドを使用します。
useradd 作成したいユーザーと実行する事でユーザーが作成されます。
コマンドが実行出来れば、/etc/passwdや/etc/shadowにユーザー情報が反映されます。
設定によりますが、ホームディレクトリも作成されていると思います。(デフォルトの設定であれば、/home配下に作成されていると思われます。)
[root@localhost ~]# useradd test_user
[root@localhost ~]# id test_user
uid=1002(test_user) gid=1002(test_user) groups=1002(test_user)
[root@localhost ~]# tail -1 /etc/passwd
test_user:x:1002:1002::/home/test_user:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
test_user:!!:19447:0:99999:7:::
[root@localhost ~]# ll /home
drwx------ 2 test_user test_user 62 3月 31 16:05 test_user
useraddコマンドには、/etc/default/useraddにデフォルトで使用される設定値があります。
useradd 作成したいユーザーで実行した場合は、上記の設定値をもとにユーザーが作成されます。
この設定値については、/etc/default/useradd を閲覧する Or useradd -Dで確認する事が出来ます。
[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
設定値の編集
設定値は以下のような項目がございます。
この設定値を編集する事で、どのような挙動になるのかを確認したいと思います。
※INACTIVE・EXPIRE・SKELを除く。(INACTIVE・EXPIREは後日検証予定です。SKELは雛形が置いてある場所を指定しているだけなので、検証しません。)
| 項目 | 説明 |
|---|---|
| GROUP | ユーザー作成時のグループID |
| HOME | ホームディレクトリの場所 |
| INACTIVE | パスワードの使用期限が過ぎて、アカウントが使えなくなるまでの日数 |
| EXPIRE | アカウント失効日 |
| SHELL | ログインシェル |
| SKEL | ファイルの雛形が配置されている場所 |
| CREATE_MAIL_SPOOL | メールスプールの作成 |
GROUPの変更
/etc/login.defsファイルのUSERGROUPS_ENABの値をnoに変更します。※yesだと、ユーザーとグループが同時に生成されます。
試しに、USERGROUPS_ENAB yesの状態でユーザーを作成致しました。
[root@localhost /]# cat /etc/login.defs | grep "USERGROUPS_ENAB"
USERGROUPS_ENAB yes
[root@localhost /]# useradd test_user
[root@localhost /]# id test_user
uid=1002(test_user) gid=1002(test_user) groups=1002(test_user)
noに変更後に、ユーザーを追加致しました。
グループIDが100となっています。これは、GROUPの値が100となっている為です。
[root@localhost /]# cat /etc/login.defs | grep "USERGROUPS_ENAB"
USERGROUPS_ENAB no
[root@localhost /]# useradd test_user
[root@localhost /]# id test_user
uid=1002(test_user) gid=100(users) groups=100(users)
[root@localhost /]# useradd -D | grep "GROUP"
GROUP=100
HOMEの変更
HOMEの設定を/testに変更してみます。
/test配下に、ホームディレクトリが作成された事を確認しました。
[root@localhost /]# cat /etc/default/useradd | grep "HOME"
HOME=/test
[root@localhost /]# useradd test_user
[root@localhost /]# ll /test
合計 0
drwx------ 2 test_user test_user 62 4月 6 00:04 test_user
SHELLの変更
SHELLの設定を/bin/shに変更してみます。
/bin/shとなっている事を確認しました。
[root@localhost ~]# useradd -D | grep "SHELL"
SHELL=/bin/sh
[root@localhost /]# useradd test_user
[root@localhost ~]# su - test_user
最終ログイン: 2023/04/06 (木) 02:18:28 JST日時 pts/0
-sh-4.2$ echo $SHELL
/bin/sh
CREATE_MAIL_SPOOLの変更
CREATE_MAIL_SPOOLの設定をnoに変更します。
メールのファイルが生成されていない事を確認しました。
[root@localhost /]# useradd -D | grep "CREATE_MAIL_SPOOL"
CREATE_MAIL_SPOOL=no
[root@localhost /]# useradd test_user
[root@localhost /]# cd /var/spool/mail
[root@localhost mail]# ll
合計 8
-rw-------. 1 root mail 6784 3月 26 22:23 root