このページでは、複数のシステム間でユーザーとグループを管理するためのWebminモジュール 説明します。
コンテンツ
クラスターユーザーとグループモジュール
この章を読む前に、クラスターソフトウェアパッケージの概要で説明されているWebminのクラスター管理機能に精通している必要があります。すべてのクラスター関連モジュール(このモジュール、クラスターソフトウェアパッケージおよびクラスターWebmin構成)は、WebminサーバーインデックスモジュールおよびRPCを使用して他のシステムを制御します。
このモジュールを使用すると、Unixユーザーを管理し、単一のインターフェイスから複数のシステムのみをグループ化できます。ネットワーク上に多数のホストがあり、それらすべてにログインできるようにする場合は、各システムでUnixアカウントを作成するための何らかのメカニズムが必要です。このモジュールの使用は、各システムでアカウントを手動で作成するよりもはるかに簡単です。
NISクライアントおよびサーバーでカバーされているNISを介して、複数のマシン間でユーザー、グループ、およびその他のサービスを管理するための、広く利用可能でより一般的に使用される方法があります。 NISクライアントシステムは、マスターサーバーに情報を照会し、/ etc/passwdファイルと/etc/ groupファイルを読み取ります。これにより、すべてのクライアントでアカウントを使用できるようになります。 NISはうまく機能し、Webmin内から簡単に構成できますが、いくつかの欠点があります。マスターサーバーがダウンしたり、ネットワークがダウンしたりすると、クライアントシステムはユーザー情報を検索できなくなり、ログインや多くのプログラムがハングします。また、クライアントはサーバーに頻繁にクエリを実行する必要があるため、低速のネットワークではうまく機能しません。
一方、このWebminモジュールは、ユーザーとグループの同期が維持されるように、各クライアントシステムのファイルを更新します。クライアントオペレーティングシステムは、集中管理されたユーザーを利用するために特別なことをする必要はありません。他のユーザーと同じように見えます。ただし、これは、ユーザーがマスターサーバーを介してではなく、クライアントシステム上で直接変更された場合に、同期が失われる可能性があることを意味します。
NISに欠けているこのモジュールのもう1つの便利な機能は、管理対象サーバー上にホームディレクトリを作成する機能です。これは、システムがNFSを介して共通のホームディレクトリを共有していない場合に役立ちます。これは、ワイドエリアネットワークでは実用的でない場合があります。このモジュールは、通常のユーザーとグループモジュールがローカルで実行できるのと同じように、管理対象サーバー上のSambaパスワードファイルまたはプロキシ認証ファイルでユーザーを設定することもできます。これは、組織にそれぞれ独自のパスワードリストを持つ複数のSambaサーバーがある場合に非常に便利です(ただし、Sambaは、代わりに中央サーバーにパスワードを照会するように構成できます)。
Cluster Users and Groupsモジュールでは、すべての管理対象システムが同じユーザーファイル形式である必要があります。残念ながら、一部のUnixバリアントは/ etc / passwdファイルのみを使用し、一部は/ etc / shadowファイルも使用し、一部のBSDシステムはユーザーの保存に/etc/master.passwdファイルを使用します。これらの異なる形式のそれぞれは、モジュールが処理できないユーザーに関する異なる情報を格納します。その結果、クラスターにはLinuxシステムとFreeBSDシステムの両方、またはSolarisボックスとAIXボックスの両方を含めることはできません。これらは、異なる形式を使用しているためです。ただし、LinuxおよびSolarisホストのネットワークは、両方のオペレーティングシステムが最も一般的な形式である/ etc/passwdファイルと/etc/ shadowファイルを使用するため、一元管理できます。
クラスターソフトウェアパッケージモジュール(第48章で説明)と同様に、これはマスターシステム上の各管理対象ホスト上のユーザーとグループのリストを格納します。これにより、検索と編集が高速化されますが、マスターの情報が管理対象ホスト上のユーザーとグループの実際のリストと同期しなくなる可能性があります。これは、ユーザーがこのモジュールを介さずに、ホストの1つで直接追加、削除、または変更された場合に発生する可能性があります。幸い、これが発生した場合(*ユーザーリストとグループリストの更新*を使用)ボタンを使用して、簡単に再同期できます。また、管理対象サーバーでユーザーが追加、削除、または更新されるたびに、更新が自動的に行われます。
このモジュールは、Webminのクラスターカテゴリにあります。アイコンをクリックすると、下のスクリーンショットに示すようなページが表示されます。上部にはすべての管理対象サーバーのアイコンがあり、その下にはユーザーとグループを検索して追加するためのフィールドとボタンがあります。ただし、これらのフィールドは、少なくとも1つのサーバーが登録されている場合にのみ表示されます。
Cluster UsersandGroupsモジュール
サーバーの登録
このモジュールを使用してユーザーとグループを管理する前に、そのシステムをサーバーのリストに追加する必要があります。これを行うには、次の手順に従います。
- Webmin Servers Indexモジュールを使用してリモートシステムを追加し、ユーザー名とパスワードを指定してください。ただし、マスターサーバー自体を管理する場合は、これを行う必要はありません。
- このモジュールでは、[*サーバーの追加*]ボタンの横にあるメニューからシステムを選択し、クリックします。メニューには通常、特別なエントリこのサーバーが含まれます 、マスターシステムです。ただし、すでに追加されているサーバーは含まれません。または、グループにサーバーを追加の横にあるメニューからサーバーのグループ全体を選択することもできます。 。グループは、WebminServersIndexモジュールでも定義できます。
- 追加されたすべてのホストと、それぞれのユーザーとグループの数を示すページが表示されます。ホストに接続できない場合、またはRPCログインが失敗した場合は、代わりにそのホストの問題を説明するエラーメッセージが表示されます。
- モジュールのメインページに戻ります。このページに、各ホストの新しいアイコンが表示されます。
新しいユーザーの作成
Unixユーザーを複数のシステムに追加するためのフォームは、ユーザーをローカルに追加するためのユーザーとグループモジュールのフォームとほぼ同じです。そのモジュールに精通している場合は、これを使用するのは簡単です。以下の手順に従ってください:
- モジュールのメインページで、ユーザーの追加をクリックします。 ページの下半分にあるボタン。
- ローカルユーザーを作成するときと同じように表示されるユーザー作成フォームに入力します。 ユーザーID デフォルトでは、どのシステムでも使用されていないIDに設定されるため、変更する必要はありません。
- 注意すべき唯一のフィールドはプライマリグループです。 、入力したグループ名のグループIDがマスターシステムで検索されるため。同じIDを持つ同じグループが、すべての管理対象ホストにも存在する必要があります。
- セカンダリグループ リストには、すべてのシステムのグループが含まれます。一部のホストにのみ存在するものを選択すると、ユーザーは、そのホストが存在するホストのそのグループにのみ追加されます。
- 終わり近くに、上記のファイル操作を実行するというラベルの付いたフィールドがあります。 これは、ホームディレクトリの作成とファイルのコピーがクラスター内の1つのホストだけで行われるのか、それともすべてのホストで行われるのかを決定します。管理対象システムがNFS経由でホームディレクトリを共有している場合は、1台のサーバーを選択する必要があります 一度だけ作成されるようにします。それ以外の場合は、すべてのサーバーを選択します そのため、ユーザーのディレクトリがそれぞれに作成されます。
- 他のモジュールでユーザーを作成する場合 はいに設定されています 、ユーザーは、各システムのSambaパスワードファイル、Squidユーザーリストなどに追加されます。
- 作成を押します フォームにエラーがない限り、各管理対象ホストで何が行われたかを示すページに移動するためのボタン。何らかの理由でホストに接続またはログインできない場合は、代わりにそのホストに対してエラーメッセージが表示されますが、残りはすべて更新されます。
作成を押すとその旨のエラーメッセージが表示されるため、このプロセスを使用して、一部のホストにすでに存在するユーザーを追加することはできません。 。代わりに、ユーザーとグループの同期で説明されているモジュールの同期機能を使用する必要があります セクション。ユーザーの詳細を1つのホストから別のホストにコピーできます。
既存のユーザーの編集
複数のサーバーでユーザーを編集することは、ユーザーのどの属性を変更するかを正確に制御できるため、1つ追加するよりも少し複雑です。これが必要なのは、ユーザーが各管理対象システムで同じ詳細を持っていない可能性があり、さまざまなシステム(シェルなど)で異なる別の属性をそのままにして、一部の属性(本名など)を設定したい場合があるためです。
このため、図49-2に示すユーザー編集フォームは、ユーザーとグループモジュールのフォームに似ていますが、変更しないが追加されています。 各フィールドのオプション。ページの上部に表示されているホストからのその属性の現在の値が表示されるため、少なくとも1つのシステムで、その属性が何に設定されているかをある程度把握できます。
これを念頭に置いて、次の手順に従ってユーザーを編集できます。
- 下にスクロールしてユーザーを検索します 編集するユーザーを検索するために使用されるメインページのフォーム。
- ユーザーの名前がわかっている場合は、ユーザー名を選択するだけです。 最初のメニューから、等しい 2番目から、3番目のテキストボックスに名前を入力します。 検索を押す ユーザーが存在すると仮定して、ユーザーの編集フォームを表示します。そうでない場合は、フォームを使用して、いくつかの基準に一致するユーザーを見つけることができます。最初のメニューから検索する属性、2番目のメニューから実行する検索のタイプを選択し、テキストまたはPerlスタイルの正規表現をテキストフィールドに入力します。 検索を押す 一致するすべてのユーザーを一覧表示するページに移動し、1つをクリックすると編集フォームが表示されます。
- 編集ページに移動したら、[設定]を選択します 変更して入力または選択する各フィールドのオプションを選択すると、すべての管理対象サーバーでユーザーの名前が変更されます。
- ユーザーはさまざまなシステムのさまざまなセカンダリグループのメンバーである可能性があるため、ユーザーが所属するグループを選択するための*セカンダリグループ*フィールドは、ユーザーとグループモジュールよりも複雑です。セカンダリメンバーシップを変更しない場合は、[変更しない]を選択します 。それらを持っているシステム上の1つ以上のグループに彼を追加するには、グループに追加を選択します その横にあるテキストフィールドに入力します。彼がメンバーであるシステム上のグループから彼を削除するには、グループから削除を選択します そして、それらのグループの名前をそのテキストフィールドに入力します。
- 保存時 上記のファイル操作を行うのセクション onフィールドは、ホームディレクトリの名前変更またはファイルUIDの変更が、クラスタ内の1つのホストだけで行われるのか、それともすべてのホストで行われるのかを決定します。 1台のサーバーを選択する必要があります システムがNFSを使用してホームディレクトリを共有している場合、またはすべてのサーバー そうでない場合。
- 他のモジュールのユーザーを変更する場合 はいに設定されています 、ユーザーは、管理対象システムごとにSambaパスワードファイル、Squidユーザーリストなどで更新されます。そもそもユーザーが他のモジュールに追加されなかった場合、これは不要であり、時間を浪費します。
- 選択したユーザーに変更を加えるには、[保存]をクリックします フォームの下部にあるボタン。ユーザーが存在するすべてのホストと実行されたアクションを一覧表示するページが表示されます。特定のホストへの接続で発生したエラーと、ユーザーの更新で発生した問題(ホストに存在しなくなったなど)も表示されます。ただし、1つのホストの更新に失敗しても、他のホストには影響しません。
ユーザー編集フォーム
ユーザー編集フォームの下部には、ユーザーが存在するシステムごとに1つずつリストアイコンがあります。それらの1つをクリックすると、「サーバーの一覧表示と削除」セクションで説明されているサーバーページが表示されます。
ユーザーの削除
複数のシステムからユーザーを削除するのは比較的簡単です。ユーザーとグループモジュールと同様に、ユーザーを削除するときは注意が必要です。ユーザーのホームディレクトリとそれに含まれるすべてのものも削除されるためです。ユーザーを削除する手順は次のとおりです。
- 最初に、既存のユーザーの編集で説明されているように、削除するユーザーの編集フォームを表示します。 セクション。
- 削除をクリックします ページの右下隅にあるボタンをクリックして、確認ページに移動します。
- NFSを使用してすべてのシステム間でホームディレクトリを共有している場合は、1台のサーバーを選択します。 *フィールドに存在する場合はホームディレクトリを削除*フィールド。それ以外の場合は、すべてのサーバーを選択します 各システムのディレクトリを強制的に削除します。
- サーバーごとにユーザーをSambaパスワードファイルから削除したり、メールファイルを削除したり、Cronジョブを削除したりするには、はいを選択します。 他のモジュールのユーザーを削除 分野。
- ユーザーのホームディレクトリを保持する場合は、ユーザーの削除をクリックします。 。アカウントと一緒に削除するには、ユーザーとホームディレクトリの削除をクリックします。 代わりは。いずれにせよ、ユーザーが存在する各サーバーを一覧表示するページ、それぞれで実行されたタスク、および発生したエラーが表示されます。
新しいグループの作成
すべての管理対象サーバーにグループを追加するプロセスは、ユーザーとグループモジュールでローカルにグループを追加するプロセスと同じです。次の簡単な手順に従ってください:
- モジュールのメインページで、グループの追加をクリックします ボタン。
- ユーザーとグループモジュールの場合と同じように表示される作成フォームに入力します。唯一の違いは、メンバーです。 フィールドには、任意の管理対象システムのユーザーを含めることができます。 グループID どのシステムでも使用されていないIDに自動的に設定されます。
- 作成を押します ボタンをクリックしてグループを追加します。モジュールが各管理対象サーバーを更新し、発生した問題があれば、モジュールの進行状況を示すページが表示されます。一部のシステムへのグループの追加に失敗しても、残りのシステムには影響しません。
グループが作成されたら、ユーザーを作成または編集して、ユーザーをグループのプライマリメンバーにすることができます。これは、上記の手順に従って作成されたシステムなど、すべての管理対象システムで同一のグループに対してのみ実行する必要があります。
既存のグループの編集
グループの編集は、変更するグループの属性を選択できるという点で、ユーザーの編集に似ています。グループ編集フォームは、[ユーザーとグループ]モジュールのフォームと似ていますが、変更しないでくださいが追加されています。 およびに設定 各フィールドのオプション。以下のスクリーンショットは例を示しています。
グループの詳細を変更するために従う手順は次のとおりです。
- 正確なグループ名がわかっている場合は、グループの検索のテキストフィールドに入力するだけです。 モジュールのメインページでフォームを作成し、検索をクリックします ボタン。そうでない場合は、ユーザーを検索するときと同じように、検索する属性と同じフォームの一致タイプを選択することでグループを見つけることができます。この章の前半の*既存のグループの編集*セクションで詳細を説明します。
- グループの編集ページで、[設定]を選択します 変更したいフィールド。 変更しないの横 それぞれのオプションは、ページの上部に表示されているシステムから取得した現在の値になります。
- メンバー グループのメンバーはクラスター内のシステムによって異なる可能性があるため、フィールドは[ユーザーとグループ]モジュールのグループ編集フォームのフィールドとは異なります。 変更しないを選択することができます メンバーシップをそのままにしておくには、ユーザーを追加 隣接するテキストフィールドに入力されたユーザーを追加する(各システムに存在する場合)、またはユーザーを削除 指定されたユーザーを削除します(各システムのメンバーである場合)。
- ユーザーを編集する場合と同様に、上記のファイル操作を実行します。 フィールドは、ファイルに対して必要なグループIDの変更が、1つの管理対象システムだけで行われるのか、それともすべてのシステムで行われるのかを決定します。ホストがすべてNFSと共有されていない個別のホームディレクトリを持っている場合、またはファイルのグループIDを変更するためにすべてのファイルが選択されている場合 フィールドで、すべてのサーバーを選択する必要があります 。それ以外の場合は、1台のサーバーを使用してください 。もちろん、グループIDが変更されていない場合、選択は関係ありません。
- 保存を押します ボタンをクリックして、グループの更新プロセスを開始します。グループが存在する各システムで実行されたタスクを示すページが表示されます。何らかのエラーが発生した場合、影響を受けるシステムの名前で表示されますが、グループが他のホストで更新されるのを妨げることはありません。
グループ編集フォーム
グループ編集ページの下部には、ユーザー編集ページと同様に、このグループが存在するシステムのアイコンのリストがあります。いずれかをクリックすると、サーバーの一覧表示と削除で説明されているホストフォームに移動します。 セクション。
グループの削除
グループを削除することは、ファイルが削除されないため、ユーザーを削除するよりも安全である必要があります。このモジュールは、通常のユーザーとグループモジュールがローカルシステムに対して行うのと同じように、システムにプライマリメンバーが存在する場合でも、グループの削除を停止します。グループを削除する手順は次のとおりです。
- グループの検索を使用します *既存のグループの編集*セクションで説明されているように、モジュールのメインページでフォームを作成してグループ編集ページに移動します。
- 削除をクリックします フォームの下のボタン。プライマリメンバーが存在しない限り、グループを本当に削除するかどうかを尋ねる確認ページが表示されます。
- グループの削除を押します 先に進むためのボタン。いつものように、削除の進行状況と、グループが存在する各ホストで発生したエラーが表示されます。
ユーザーリストとグループリストの更新
このモジュールを使用せずに、管理対象サーバーの1つでユーザーまたはグループが何らかの方法で追加または変更された場合、そのキャッシュリストは正確でなくなります。これにより、モジュールは、存在しなくなったユーザーの変更または削除を試みたり、すでに存在しているシステム上にユーザーを作成したりする可能性があります。幸い、キャッシュは次のように再同期できます。
- ユーザーリストとグループリストの更新をクリックします モジュールのメインページの下部にあるボタン。
- モジュールによって管理されているすべてのシステムと、ローカルキャッシュにない各システムに追加または削除されたユーザーとグループの数を一覧表示するページが表示されます。何らかの理由でホストができない場合
連絡すると、エラーメッセージが表示されますが、これは他のシステムの更新には影響しません。
ユーザーとグループの同期
同期はおそらくモジュールの最も強力な機能ですが、使用するのが最も難しい機能の1つでもあります。これを使用して、クラスター内の他のすべてのシステムの1つのシステムにのみ存在するユーザーまたはグループを作成できます。これは、特定のユーザーがこのモジュールの外部で1つのホストのみで作成され、すべてのホストで使用できるようにする場合に便利です。新しいホストがクラスターに追加され、他のシステムが持つすべてのユーザーとグループをクラスターに与えたい場合にも役立ちます。
ただし、同期を誤って使用すると、予期しない、場合によっては有害な影響が生じる可能性があります。たとえば、すべてのホストのすべてのユーザーを単純に同期すると、それらを持たないホストでuucpやsquidなどのシステムユーザーが作成される可能性があるため、お勧めできません。このため、何が行われるかを示すだけですか?を使用する必要があります。 フィールドを使用して、同期の選択を実際に適用する前に、モジュールが同期の選択をどのように処理するかを確認します。
同期機能は、新しいユーザーとグループを作成するだけで、既存のユーザーとグループの詳細は更新しません。ユーザーやグループも削除されません。代わりに、あるシステムに存在するユーザーと別のシステムに存在するユーザーの不一致は、ユーザーを作成する必要があることを示していると見なされます。ただし、ユーザーを編集および削除するためのモジュールの他の機能を使用して、一部のシステムのユーザーを更新して別のシステムと一致させたり、一部のシステムにのみ存在するユーザーを削除したりできます。
一部のシステムにのみ存在するユーザーを作成するには、次の手順に従います。
- 同期をクリックします モジュールのメインページの右下隅にあるボタン。これにより、下の画像に示すフォームが表示されます。
- 同期するサーバー フィールドは、プロセスの一部としてチェックされるシステムを決定します。 *すべてのサーバー*を選択してすべての管理対象システムを同期するか、選択済みを選択できます 以下のリストからいくつかのシステムを選択します。後者の場合、任意のシステムに存在する指定されたユーザーが、選択されたユーザーに追加される可能性があります。
- 作成するユーザー セクションでは、同期するユーザーを指定できます。使用可能なオプションは次のとおりです。*すべての不足しているユーザー*このモードは、すべてのシステムがまったく同じオペレーティングシステムを実行している場合を除き、使用しないでください。squidやuucpなどのシステムユーザーを含むすべてのユーザーが同期されます。 *ユーザーなし*このオプションは、モジュールにユーザーを同期しないように指示するため、何もしません。 *ユーザーのみ*このオプションを選択すると、隣接するテキストフィールドに名前が入力されているユーザーのみが同期の対象になります。どのユーザーを作成する必要があるかが正確にわかっている場合は、これを使用するオプションです。 *ユーザーを除くすべて*このオプションは注意して使用する必要があります(行方不明のすべてのユーザーなど) )、隣接するテキストフィールドにリストされているユーザーを除くすべてのユーザーを同期するためです。 * UIDが範囲内にあるユーザー*このオプションは、隣接するテキストフィールドに入力された範囲内にUIDがあるユーザーのみを同期するようにモジュールに指示します。 *プライマリグループを持つユーザー*このオプションを選択すると、モジュールは、プライマリグループがその隣のフィールドに入力されたグループ名と一致する同期ユーザーのみを考慮します。
- 作成するグループを残す グループなしに設定 。
- 何が行われるかだけを表示しますか?を変更します はいへのフィールド 、最初にテスト実行を実行できるようにします。
- システムがホームディレクトリをNFSと共有している場合は、*ホームディレクトリを作成しますか?*およびファイルをホームディレクトリにコピーしますか? フィールドはいいえに設定できます 、ユーザーのディレクトリがすでに存在しているはずだからです。ただし、各システムに独自のファイルシステムがある場合は、はいを選択する必要があります 代わりに、追加されたユーザーごとに新しい空のディレクトリを強制的に作成します。
- 新しいユーザーをSambaパスワードファイル、Squidユーザーリストなどに追加するには、それらが作成されたシステムごとに、他のモジュールでユーザーを作成しますか?を変更します。 はいへのフィールド 。残念ながら、同期時にユーザーの暗号化されていないパスワードを使用できないため、Sambaユーザーは正しく作成されません。
- ユーザーとグループの作成を押します ボタン。選択したすべてのシステムと、それぞれで実行する必要のあるアクション(存在する場合)を一覧表示するページが表示されます。あなたが期待することだけが行われることを確認するためにチェックしてください。ホストに指定されたすべてのユーザーがすでにいる場合は、メッセージ*ユーザーとグループが同期しています*が表示されます。ブラウザの戻るボタンを使用して同期フォームに戻り、何が行われるかのみを表示しますか?を変更します。 いいえへのフィールド 。
- ユーザーとグループの作成をクリックします もう一度、実際のユーザーを作成します。選択したシステムと実際に実行されているアクションを一覧表示するページが、発生したエラーとともに表示されます。いつものように、1つのホストで障害が発生しても、残りのホストには影響しません。
欠落しているグループは、ほぼ同じ方法で作成できます。唯一の違いは、作成するユーザーを残す必要があることです。 フィールドがユーザーなしに設定されている 、ただし、作成するグループで同期するグループを指定します セクション。
同期フォーム
サーバーの一覧表示と削除
このセクションでは、管理対象サーバーのユーザーとグループに関する情報を表示する方法、またはモジュールによって制御されるシステムのリストから情報を削除する方法について説明します。従う手順は次のとおりです。
- モジュールのメインページ、またはユーザーまたはグループの編集フォームで、表示するシステムのアイコンをクリックします。これにより、オペレーティングシステムを表示し、サーバー上のすべての既知のユーザーとグループの名前を一覧表示するページに移動します。
- ユーザーの詳細を表示または編集するには、リスト内のユーザーの名前をクリックします。これにより、通常のユーザー編集フォームが表示されますが、変更しないの横に表示される現在の属性 このサーバーから取得したオプション。サーバーのページでグループの名前をクリックして、グループを表示および編集することもできます。
- このモジュールのコントロールからシステムを削除するには、管理対象リストから削除をクリックします。 ボタン。確認は要求されず、すぐにモジュールのメインページに戻ります。ただし、いつでもシステムを再追加できるため、データが失われることはありません。