この章では、サーバーでシステムとハードウェアのクロックを設定する方法について説明します。
コンテンツ
システム時間モジュール
すべてのUnixシステムには、システムの電源がオフの場合でも、現在の時刻を追跡するための内部時計があります。 Linuxシステムは、システムが効果的に実行されており、常に実行されている別のハードウェアクロックです。カーネルのシステム時刻は、カーネルがロードされたときのハードウェア時刻に基づいて設定されるため、同期する必要があります。ただし、一方のクロックがもう一方のクロックよりも遅い場合、長時間実行されているシステムでは、ハードウェアとシステムの時間が同期しなくなる可能性があります。
すべてのUnixシステムは、1970年1月1日GMTからの秒数として時間を内部的に保存します。表示のために、これはシステムの構成されたタイムゾーンに基づいて人間が読める現地時間に変換されます。すべてのLinuxディストリビューションでは、インストール時にタイムゾーンを選択でき、後で変更するためのツールが含まれています。ただし、Webminではタイムゾーンの選択はサポートされていません。
システム時間とハードウェア時間は、それぞれdateコマンドとhwclockコマンドを使用して表示および設定できます。 rootユーザーのみがシステム時刻を変更でき、rootのみがhwclockコマンドを使用してハードウェア時刻を表示できます。
[ハードウェア]カテゴリにある[システム時間]モジュールを使用して、システム時間とハードウェア時間の両方を調整できます。モジュールには実際には1つのページしかありません。これは、以下のスクリーンショットに示されています。ページの両方の時間は5秒ごとに更新されるため、ページがブラウザに長時間表示されていても正しいままです。
時間を設定するシステム時刻の変更
このWebminモジュールを使用すると、システム時刻をいつでも前方または後方に送ることができます。一般に、これは非常に安全ですが、大きな変更を行うと、現在の時刻が大幅に前後に移動したり、前方にジャンプしたりすることを予期しない一部のプログラムが混乱する可能性があります。
システム時刻を変更するには、次の手順に従います。
- モジュールのメインページで、新しい日を選択します 、月 、年 、時間 、分 および2番目 システム時間 セクション。
- 適用をクリックします フィールドの下のボタン。新しい日時が設定され、ページが再表示されます。
システム時刻をハードウェア時刻に設定をクリックして、システム時刻を現在のハードウェア時刻に強制的に設定することもできます。 ボタン。いずれにせよ、変更は、デスクトップクロック、syslog、メールクライアントなど、システムで実行されているすべてのプログラムにすぐに表示されます。
ハードウェア時間を変更する
ハードウェア時間は、システムの起動時にカーネルによってのみ読み取られるため、現在実行中のプログラムに影響を与えることなく変更できます。変更するには、次の手順に従います。
- モジュールのメインページで、新しい日を選択します 、月 、年 、時間 、分 および2番目 ハードウェア時間 セクション。
- 適用をクリックします フィールドの下のボタン。新しい日時が設定され、ページが再表示されます。
ハードウェア時刻をシステム時刻に設定をクリックして、ハードウェア時刻をシステム時刻と同期させることもできます。 ボタン。長い間再起動されていないシステムで時々これを実行して、同期がずれすぎないようにすることをお勧めします。
タイムゾーンの変更
すべてのUnixシステムは、グリニッジ標準時の1970年1月1日からの秒数として内部に時間を保存します。プログラム( date など)の場合 command)は現在の時刻をユーザーに表示します。これを正しいタイムゾーンに変換する必要があります。これには、正しい時間オフセットの適用と夏時間の調整が含まれます。
このため、時刻を正しく表示および記録するには、システムのタイムゾーンを正しく設定する必要があります。幸い、次のようにシステム時刻モジュールを使用してこれを行うことができます。
- タイムゾーンまで下にスクロールします メインページのセクション。
- リストから正しいゾーンを選択します。最初に大陸ごとに、次に都市または国ごとに並べ替えられます。
- 保存をクリックします 。
別のサーバーとの時刻の同期
システム時間モジュールを使用して、別のサーバーのシステム時間に基づいてシステムまたはハードウェアの時間を設定することもできます。もう一方のサーバーは、NTP(Network Time Protocol)サーバーを実行しているか、inetdでタイムプロトコルを有効にしている必要があります(第15章で説明)。システムで同期にNTPを使用するには、ntpdateNTPクライアントプログラムがインストールされている必要があります。
時刻を同期するには、次の手順に従います。
- 他のサーバーのホスト名またはIPアドレスをホスト/アドレスに入力します タイムサーバーのフィールド セクション。ネットワーク遅延の影響を最小限に抑えるために、常に近くにあるサーバーを選択することをお勧めします。ただし、複数のサーバーを入力できます。
- ハードウェア時間の設定も確認してください ボックス。これは常にシステム時刻に一致するように更新する必要があるためです。
- 同期を定期的に実行する場合は、スケジュールどおりに同期しますか?を変更します。 はい その下のフィールドを使用して同期する時間を選択します。通常、1日1回で十分です。
- 同期して適用をクリックします ボタン。サーバーに接続できない場合、またはNTPまたはタイムプロトコルをサポートしていない場合は、エラーメッセージが表示されます。それ以外の場合は、時刻が設定され、ページが再表示されます。
モジュールアクセス制御
他の多くのモジュールと同様に、Webminユーザーまたはグループがシステム時間モジュールで実行できることを制限することができます。ただし、利用可能な制限は、モジュールの機能が制限されているため非常に基本的なものであり、信頼できないユーザーが使用できるように安全にすることはできません。
Webminユーザーで説明されているように、Webminユーザーにモジュールへのアクセスが許可されたら、次の手順に従って、Webminユーザーが実行できることを制限できます。
- Webminユーザーモジュールで、制限するユーザーまたはグループの名前の横にある[システム時刻]をクリックします。
- モジュール構成を編集できますか?を変更します いいえへのフィールド 、ユーザーが操作固有の設定を変更できないようにします。
- ユーザーによるシステム時刻の変更を停止するには、[*ユーザーはシステム時刻を編集できます*]フィールドをいいえに設定します。 。
- ユーザーがハードウェア時間を変更できないようにするには、ユーザーがハードウェア時間を編集できるを設定します。 いいえへのフィールド 。
- 完了したら、[保存]をクリックします ページの下部にあるボタンをクリックして、新しい制限をアクティブにします。
その他のオペレーティングシステム
Linuxは、システム時刻モジュールでサポートされている唯一のオペレーティングシステムであり、ハードウェア時刻とシステム時刻が異なります。 Solaris、Irix、HP / UX、およびOpenServerのシステム時刻は1つだけであり、Linuxの場合とまったく同じ方法で設定できます。 FreeBSD、NetBSD、およびMacOS Xもシステム時刻のみをサポートします。これも同じ方法で設定できますが、最も近い分にのみ設定できます。他のオペレーティングシステムは、このモジュールをまったく使用できません。