Linuxサーバーのユーザーとグループ作成と設定方法
【概要】Linuxサーバーのユーザーとグループ作成、設定方法をまとめたドキュメントです。【ユーザーとグループ一覧表示】・ユーザー一覧表示cat /etc/passwd出力結果例root:x:0:0:root:/root:/usr/bin/zshbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin......・グループ一覧cat /etc/group出力結果例root:x:0:bin:x:1:daemon:x:2:......【ユーザーとグループ作成】・ユーザー作成構文useradd ユーザー名例文useradd ec2-user・グループ作成構文groupadd グループ名例文groupadd ec2-user・IDを指定する場合のコマンドユーザー・グループ共にIDを指定しなかった場合、他の重複しない値を自動で設定されます。特定のIDを指定したい場合に使用します。ユーザー作成の構文useradd -u 501 ユーザー名グループ作成の構文groupadd -g 501 グループ名【ユーザーのパスワード設定】[概要]ユーザーにパスワードを設定します。作成したユーザーでSSH接続や、rootユーザーになる時などに使用します。[詳細]・構文passwd ユーザー名【グループを設定し、ユーザーを作成する】[概要]ユーザーにグループを設定する事で権限を持たせる事ができます。例えば、ec2-userを作成し、セカンダリグループにwheelグループを設定します。「/etc/sudoers」を編集し、wheelグループはパスワードなしでrootユーザーを使用する設定があります。このように、ユーザーに特定の権限を持たせたい時に使用します。[詳細]・構文 - プライマリグループとセカンダリグループを設定しユーザーを作成するuseradd -G グループ名 -g グループ名 ユーザー名「-Gオプション」はセカンダリグループを指定します。「-gオプション」はプライマリグループを指定します。・ec2-userのプライマリグループに「ec2-user」グループを設定し、セカンダリグループに「wheel」グループを設定するuseradd -G wheel -g ec2-user ec2-user【作成したユーザーの所属グループとidを調べる】[概要]作成したユーザーと設定したグループが反映されたかを確認します。[詳細]・構文id ユーザー名・例文id ec2-user出力結果例uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),10(wheel),190(systemd-journal)上記の例では「ec2-user」ユーザーの情報は下記になります。ユーザーID:1000プライマリグループID:1000プライマリグループ:ec2-userセカンダリグループ:ec2-user・adm・wheel・systemd-journal【作成したユーザーにセカンダリグループを追加する】[概要]作成したユーザーが既にセカンダリグループを設定されている場合、-aオプションを付けないと上書きされてしまいます。その手順をまとめます。[前提]下記の設定がされているec2-userを想定します。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)ここにwheelグループを追加します。[詳細]・セカンダリグループ追加usermod -aG nginx ec2-userこれでnginxグループがec2-userのセカンダリグループに追加されました。・追加確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)【ユーザーに設定されているセカンダリグループを削除する】[前提]ec2-userに下記の設定がされているとします。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)このwheelグループを削除します。[例文]・ec2-userユーザーをwheelグループのメンバーから外すgpasswd -d ec2-user wheel・確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)文末にあった「wheel」グループは削除されました。【ユーザーを削除する】[概要]指定したユーザーの削除を行います。[詳細]・構文userdel -r ユーザー名・例文ここでは「ec2-user」を削除します。userdel -r ec2-user確認id ec2-user出力結果id: ec2-user: no such user上記のように出力されれば削除成功です。【参考: wheelグループに所属するユーザーをパスワードなしでrootユーザーにする設定】[概要]上記にも例を出しましたが、ユーザーのセカンダリグループにwheelグループを追加し、「/etc/sudoers」の設定を変更する事でパスワードなしでrootユーザーになる事ができます。その設定方法についてまとめています。[手順]vi /etc/sudoers変更内容# Same thing without a password#%wheelALL(ALL)NOPASSWD: ALL上記の「#%wheel」部分で「#」がコメントアウトを意味します。よって、「#」を削除し「:wq」で保存して下さい。これでwheelグループを設定したユーザーは下記のコマンドでrootユーザーになれます。sudo su -