この記事ではuseraddコマンドでLinuxにユーザーを追加する方法をまとめました。
Red Hat Enterprise Linux9.5での作業結果を本記事で掲載します。
また、本記事は以下RHEL9の公式ドキュメントを参考にしています。
9.2. ユーザーアカウントの管理 | Red Hat Product Documentation
9.2. ユーザーアカウントの管理 | Red Hat Documentation
9.3. コマンドラインからのユーザーの管理 | Red Hat Product Documentation
9.3. コマンドラインからのユーザーの管理 | Red Hat Documentation
ユーザーのデータが保存されているファイル
以下のファイルにユーザーのデータが保存されます。
/etc/passwd
passwdはパスワードと呼んでいます。
私たちが使用しているRHEL9.5環境のpasswdファイルをcatコマンドで出力してみます。
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
sssd:x:997:995:User for sssd:/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
geoclue:x:996:994:User for geoclue:/var/lib/geoclue:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
pipewire:x:995:992:PipeWire System Daemon:/run/pipewire:/usr/sbin/nologin
libstoragemgmt:x:989:989:daemon account for libstoragemgmt:/:/usr/sbin/nologin
cockpit-wsinstance:x:988:988:User for cockpit-ws instances:/nonexisting:/sbin/nologin
flatpak:x:987:987:User for flatpak system helper:/:/sbin/nologin
colord:x:986:986:User for colord:/var/lib/colord:/sbin/nologin
setroubleshoot:x:985:985:SELinux troubleshoot server:/var/lib/setroubleshoot:/usr/sbin/nologin
clevis:x:984:984:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:983:983::/run/gnome-initial-setup/:/sbin/nologin
chrony:x:982:982:chrony system user:/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
dnsmasq:x:981:981:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
user:x:1000:1000:user:/home/user:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
一番下の行のuserについては、私たちがインストール時点で追加したユーザーです。あとはApacheもhttpd.serviceをインストールした際に追加されました。それ以外はインストール時のデフォルトのユーザーだと思います。
user:x:1000:1000:user:/home/user:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
ユーザーのパスワードについては以下のファイルに保存されています。
/etc/shadow
useraddコマンドでユーザーを追加する
以下のコマンドを実行してユーザーを追加します。
# useradd example.user
passwdコマンドで追加したユーザーのパスワードを変更する
追加したユーザーのパスワードを以下のコマンドで変更します。
# passwd example.user
passwdコマンドだけを実行するとrootユーザーのパスワード変更を行う
以下のようにpasswdコマンドだけを入力するとrootユーザーのパスワードを変更することになります。今回は追加したユーザーのパスワードを変更するので、間違えないよう気を付けましょう。
# passwd
間違えてpasswdコマンドだけを入力した場合はCtrl+Cでキャンセルします。以下はCtrl+Cでキャンセルした場合の操作例です。
[root@localhost ~]# passwd
ユーザー root のパスワードを変更。
新しい パスワード:
[root@localhost ~]#
useraddコマンドで追加したユーザーの確認
idコマンドを使用して追加したユーザーの確認を行います。
# id example.user
今回はansibleユーザーを追加してみたので、実際にidコマンドで確認してみます。
[root@localhost ~]# useradd ansible
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# id ansible
uid=1001(ansible) gid=1001(ansible) groups=1001(ansible)
[root@localhost ~]#
usermodコマンドで追加したユーザーをグループに追加する
以下のコマンドを実行して追加したユーザーをグループに追加します。
# usermod -a -G example.group example.user
グループのデータは以下に保存されます。
/etc/group