\r\n\r\n
パソコンでLinuxを動かしているのであれば、ユーザー管理は非常にシンプルです。しかし、数千人規模のユーザーを抱えるサーバーでは、管理が重要な問題となり、注意が必要です。
幸いなことに、LinuxベースのOSは、システム上のユーザーを制御・管理する方法を提供しています。グループを作成し、そこにユーザーを追加することができます。そして、システム上の各ユーザーに権限を割り当てるのではなく、システムのワークフローに関連した権限を与えることで、ユーザーグループに簡単に権限を付与することができます。
Linuxには、ユーザーグループを作成するためのコマンドがデフォルトで用意されています。新しいグループは、groupaddコマンドで追加することができます。コマンドの基本的な構文は次のとおりです。
groupadd [opti***] groupnameユーザーグループ "writers "を新規に作成する場合。
groupadd writers上記のコマンドを実行すると、システムの /etc/group と /etc/gshadow ファイルに新しいエントリーが追加されます。ターミナルでcat/etc/groupとcat/etc/gshadowと入力すれば、ファイル内の新しいグループエントリを確認することができます。
なお、ユーザーグループの作成は、管理者権限を持つユーザーのみ可能です。groupaddコマンドを実行する前に、superuserに切り替えることを忘れないでください。
すでに存在する名前のグループを作成しようとすると、次のようなエラーが表示されます。
groupadd: group 'writers' already existsただし、コマンドに -f または --force フラグを使用することで、エラーを排除することができます。
groupadd --force writersgroupadd -f writers新しいユーザーグループを作成すると、自動的にグループIDまたはGIDが割り当てられます。グループに特定のグループIDを持たせたい場合は、-gまたは--gidフラグを使用してこれを実現できます。
groupadd -g 600 writersgroupadd --gid 600 writersすでに使用されているグループIDを割り当てようとすると、次のエラーが発生します。
groupadd: GID '600' already exists推奨されませんが、-oまたは--non uniqueフラグを追加すると、グループIDの割り当てを強制することができます。
groupadd -o -g 600 writersp フラグを使用すると、ユーザーグループに対してパスワードを割り当てることができます。
groupadd -p secretpassword writers関連:Linuxでパスワードを変更する方法
バックアップやメンテナンスなど、システム運用に責任を持つユーザーを含む特別なグループであるシステムグループと、通常のグループには微妙な違いがあります。
Linuxでシステムグループを作成するには、-rまたは-systemフラグを使用します。
groupadd -r hardwareteamgroupadd --system hardwareteam特定のグループに何人のメンバーがいるかを調べるには、ターミナルからgetentコマンドを使用します。次のコマンドは、グループ "writers" の全メンバーのリストを表示します。
getent group writersusermod は、ユーザ管理とモデレーションに関連する様々なオプションを含む、強力なコマンドライン・ユーティリティです。また、グループにユーザーを簡単に追加することができます。コマンドの基本的な構文は次のとおりです。
usermod [opti***] groupname username既存のユーザーをグループに追加する場合は、-aおよび-Gフラグが必要です。Gフラグはグループを、-aは追加、追加、追加を表します。
usermod -a -G writers randomuserまた、カンマで区切ったグループ名を入力するだけで、複数のグループにユーザーを追加することができます。
usermod -a -G writers,admin,owner randomuserLinuxシステムに新しいユーザーを追加したい場合、useraddコマンドを使用します。useraddは、ユーザーがグループを作成する際に、グループを割り当てる方法を提供しています。Gフラグを使用すると、グループにユーザーを割り当てることができます。
useradd -G writers randomuser複数のグループにユーザーを追加するのも簡単で、デフォルトのコマンドにカンマで区切ったグループ名を渡すだけです。
useradd -G writers,admin,owner randomuserまた、usermodを使用して、グループからユーザーを削除することもできます。Linuxシステムでは、1つのユーザーに複数のグループを割り当てることができることを忘れないでください。このうち1つを1次グループ、それ以外を2次グループと宣言しています。
グループからユーザーを削除する場合、削除後にそのユーザーが少なくとも1つのプライマリーグループを持っていることを確認してください。例えば、ユーザー "random "はadmin、writers、editorsというグループに属しています。
ユーザーを削除できるのは、Group WriterとEditorのみです。そのためには、ユーザーに所属したままにしておきたいグループのグループ名を渡す必要があります。つまり、グループエディターからユーザー「random」を削除するには、次のコマンドを使用します。
usermod -G writers randomなお、ユーザーをグループに追加する際に使用するコマンドから、aフラグを削除するだけでよい。
ユーザーグループをシステムに残したくない場合は、次の構文のgroupdelコマンドで削除することができます。
groupdel [opti***] groupnameユーザーグループ "writers "を削除する場合。
groupdel writers存在しないグループを削除しようとした場合、次のようなエラーが発生します。
groupdel: group 'writers' does not existユーザー管理は、必要なLinuxコマンドを知らなければ難しいものです。モデレーションや管理に関連するコマンドの入出力がわかれば、これはとても簡単なことです。
サーバー管理者は、自分のニーズに合った理想的なLinuxディストリビューションを使用してみてください。こうすることで、サーバー管理に必要なすべてのツールやユーティリティにすぐにアクセスすることができます。