Rocky Linux 9.x ユーザーとグループ作成

スポンサーリンク

RHELのマニュアルに書いている推奨されている内容で、ユーザーとグループの作成を行います。

予約されたユーザーIDとグループID

RHELでは「999」以下は、予約されたユーザーIDとグループIDとなっていて、かつ、今後も増えることを考えて、推奨は「5000」以降のIDを割り当てるとのことです。

Red Hat Customer Portal - Access to 24x7 support and knowledge

予約されたユーザーIDとグループIDを確認することができます。

$ cat /usr/share/doc/setup/uidgid
NAME    UID     GID     HOME            SHELL           PACKAGES
root    0       0       /root           /bin/bash       setup
bin     1       1       /bin            /sbin/nologin   setup
daemon  2       2       /sbin           /sbin/nologin   setup
sys     -       3       -               -               setup
adm     3       4       /var/adm        /bin/bash       setup
   :(省略)

新規ユーザー作成時のデフォルトで付与されるIDを変更

新規ユーザーを作成するとき、デフォルトで「1000」からIDの自動付与がされますが、マニュアルの推奨に合わせて、「5000」からIDが自動付与するようにします。

$ /etc
$ sudo cp -a login.defs BK_login.defs.original
$ sudo vim login.defs
   :(省略)
#
# Min/max values for automatic uid selection in useradd(8)
#
UID_MIN                  5000 ・・・ 「1000」から「5000」に変更
   :(省略)
#
# Min/max values for automatic gid selection in groupadd(8)
#
GID_MIN                  5000 ・・・ 「1000」から「5000」に変更
   :(省略)
$ diff BK_login.defs.original login.defs
144c144
< UID_MIN                  1000
---
> UID_MIN                  5000
157c157
< GID_MIN                  1000
---
> GID_MIN                  5000

動作確認

試しにUIDとGIDが5000以降で作成されるかの動作を確認します。

$ sudo useradd test
$ ls -ldn /home/test
drwx------. 3 5000 5000 78 Apr 13 20:41 /home/test ・・・ 「5000」から自動付与されている
$ sudo userdel -r test
$ ls -ldn /home/test
ls: cannot access '/home/test': No such file or directory

グループの作成

グループの作成時にオプションを指定しなければ、GIDは若い番号から自動付与されます。

$ sudo groupadd testgroup
$ cat /etc/group | grep testgroup
testgroup:x:5001:

グループの作成時に、GIDを指定する場合は、「-g (–gid)」オプションで指定します。

$ sudo groupadd -g 6000 tmpgroup
$ cat /etc/group | grep tmpgroup
tmpgroup:x:6000:

ユーザーの作成

ユーザーの作成時にオプションを指定しなければ、UIDは若い番号から自動付与され、かつ、グループは作成時のユーザー名でグループが作成されます。

ユーザー名と同じグループのことを「ユーザープライベートグループ(UPG)」といいます。

$ sudo useradd test1 ・・・ オプション無しで
$ cat /etc/group | grep test1 ・・・ 作成されたグループの確認
test1:x:5001:
$ cat /etc/passwd | grep test1 ・・・ 作成されたユーザーの確認
test1:x:5001:5001::/home/test1:/bin/bash
$ sudo cat /etc/shadow | grep test1 ・・・ パスワードは「/etc/shadow」
test1:!!:19826:0:99999:7::: ・・・ パスワードは設定されていないので「!!」
$ sudo passwd test1
Changing password for user test1.
New password:xxxxxxxx
Retype new password:xxxxxxxx
passwd: all authentication tokens updated successfully.
$ sudo cat /etc/shadow | grep test1 ・・・ パスワードは暗号化されている
test1:$6$u44gF(省略)aTMzKEp1:19826:0:99999:7:::