LinuxでGroupaddを使ってユーザーグループを管理する方法
Linuxシステムで複数のユーザーを管理する必要がありますか?ここでは、groupadd、usermodなどのコマンドを使用してそれを行う方法を説明します。
個人用コンピュータでLinuxを実行している場合、ユーザー管理は非常に簡単です。しかし、何千人ものユーザーを持つサーバーを運営している場合、管理は深刻な問題となり、注意が必要です。
幸いなことに、Linuxベースのオペレーティングシステムは、システム上のユーザーを制御および管理する方法を提供します。グループを作成し、ユーザーをそれに追加することができます。そして、システム上のすべてのユーザーに対して権限を割り当てる代わりに、ユーザーグループにシステムのワークフローに関連する特権を付与することで、簡単に認可することができます。
Linuxでユーザーグループを作成する
Linuxにはユーザーグループを作成するためのデフォルトのコマンドが付属しています。新しいグループをシステムに追加するには、groupadd コマンドを使用できます。このコマンドの基本構文は次のとおりです:
groupadd [options] groupname新しいユーザーグループ「作家」を作成するには:
groupadd writers
上記のコマンドを実行すると、システムの/etc/groupおよび/etc/gshadowファイルに新しいエントリーが追加されます。新しいグループエントリーは、ターミナルでcat /etc/groupおよびcat /etc/gshadowと入力することで確認できます。
ユーザーグループを作成できるのは管理者権限を持つユーザーのみです。groupaddコマンドを実行する前に、スーパーユーザーに切り替えるのを忘れないでください。
既に存在する名前でグループを作成しようとすると、次のようなエラーメッセージが表示されます:
groupadd: group 'writers' already existsただし、コマンドに-fまたは--forceフラグを使用することで、エラーを無視することができます。
groupadd --force writers
groupadd -f writers一意のGIDを持つユーザーグループを作成する
新しいユーザーグループを作成すると、システムは自動的にグループID(GID)を割り当てます。グループに特定のグループIDを持たせたい場合は、-g または --gid フラグを使用して行うことができます。
groupadd -g 600 writers
groupadd --gid 600 writersすでに取得されているグループIDを割り当てようとすると、次のエラーが発生します。
groupadd: GID '600' already exists推奨はされていませんが、グループIDを強制的に割り当てるために-oまたは--non-uniqueフラグを追加することができます。
groupadd -o -g 600 writersパスワード付きユーザーグループを作成する
グループにパスワードを追加することはできますが、それはユーザーにとって実際的な利用価値はありません。-p フラグを使用すると、ユーザーグループのパスワードを指定することができます。
groupadd -p secretpassword writersLinuxでシステムグループを作成する
システムグループと通常のグループにはわずかな違いがあります。システムグループは、バックアップやメンテナンスなどのシステム操作を担当するユーザーを含む特別なグループです。
Linuxでシステムグループを作成するには、-rまたは--systemフラグを使用してください。
groupadd -r hardwareteam
groupadd --system hardwareteamユーザーグループのメンバーのリストを取得する
特定のグループに何人のメンバーがいるかを知るには、ターミナルからgetentコマンドを使用できます。以下のコマンドは、'writers'グループにいるすべてのメンバーのリストを表示します。
getent group writersユーザーをグループに追加する
システムにユーザーグループを作成したので、次はそのグループにユーザーを追加する時です。usermodは、ユーザー管理とモデレーションに関連するさまざまなオプションを含む強力なコマンドラインユーティリティです。また、グループにユーザーを簡単に追加することもできます。コマンドの基本的な構文は次のとおりです:
usermod [options] groupname username既存のユーザーをグループに追加する
既存のユーザーをグループに追加したい場合は、-a および -G フラグが必要です。-G フラグはグループを意味し、-a は追加、追加、または加算を意味します。
usermod -a -G writers randomuserユーザーを複数のグループに追加することもできます。グループ名をカンマで区切って入力するだけです。
usermod -a -G writers,admin,owner randomuserグループに新しいユーザーを追加する
新しいユーザーをLinuxシステムに追加したいときは、useraddコマンドを使用できます。Useraddを使用すると、ユーザー作成時にそのユーザーにグループを割り当てることができます。-Gフラグを使うことで、そのユーザーに特定のグループを指定することができます。
useradd -G writers randomuserユーザーを複数のグループに追加するのも簡単です。デフォルトのコマンドでカンマ区切りでグループ名を渡すだけです。
useradd -G writers,admin,owner randomuserグループからユーザーを削除する
グループからユーザーを削除するには、usermodを使用することもできます。Linuxシステムでは、ユーザーに複数のグループが割り当てられることを考慮してください。その中の1つのグループがプライマリグループとして宣言され、その他はセカンダリグループと呼ばれます。
ユーザーをグループから削除しようとしている場合、削除後に少なくとも1つのプライマリグループが残っていることを確認してください。たとえば、ユーザー'ランダム'は、管理者、ライター、編集者というグループの一部であり、管理者がプライマリグループで、残りはセカンダリグループです。
ユーザーをグループの作家と編集者からのみ削除することができます。そのためには、ユーザーが残ってほしいグループ名を指定する必要があります。これは、ユーザー 'random' をグループの編集者から削除するために、次のコマンドを使用することを意味します。
usermod -G writers randomユーザーをグループに追加する際に使用するコマンドから appendフラグ(-a) を削除するだけでよかったことに注意してください。
Linuxでグループを削除する
ユーザーグループをシステム上に保持したくない場合は、groupdelコマンドを使用してグループを削除できます。コマンドの構文は次のとおりです:
groupdel [options] groupnameユーザーグループ「ライター」を削除するために:
groupdel writers存在しないグループを削除しようとすると、次のようなエラーが表示されます:
groupdel: group 'writers' does not existLinuxでのユーザーグループの管理
ユーザー管理は、使用する必要があるLinuxコマンドを知らないと難しいことがあります。しかし、モデレーションや管理に関連するコマンドの内情を知ると、とても簡単になります。
サーバー管理者は、自分たちのニーズに適したLinuxディストリビューションを使用するように努めるべきです。これにより、サーバー管理に必要なすべてのツールやユーティリティをすぐに手に入れることができます。
