Linux stellt die Zeit beim Anmelden über das Internet ein

Linux stellt die Zeit beim Anmelden über das Internet ein

Auf meiner Ubuntu 10.04-Box kann ich (ein Benutzer, nicht root)

sudo net time set

und es funktioniert großartig.

Ich würde es vorziehen, wenn die Box die Netzzeit regelmäßiger oder zumindest bei jeder Anmeldung erhält. Also habe ich versucht,Nettozeit eingestelltZu/etc/Profil. Das schlägt fehl. Ich habe Strophen hinzugefügt, die aussehen wie

user ALL=(ALL) NOPASSWD: /usr/bin/net

Zu/etc/sudoers(mithilfevisuell). Hat nicht geholfen.

Ich habe nie berührtcronalso ich habe keine Ahnung, wie man eine Chron-Registerkarte hinzufügt. (Es scheint ein Widerspruch in sich zu sein, sich zum Zurücksetzen der Systemzeit auf die Systemzeit zu verlassen.)

  1. Wie lässt sich dies am besten bewerkstelligen?
  2. Wenn es ein Cron-Job ist, würde ich mich über ein kurzes Beispiel freuen.
  3. Dieselben Fragen, aber für den BefehlDienst DHCP3-Server Neustart?

(Ja, meine Box erhält ihre Adresse per DHCP, aber ihr DHCP-Server steuert 4 Gigabit-E-Net-Karten, die an Hochgeschwindigkeitskameras angeschlossen sind. Manchmal lässt mich der DHCP-Server beim Anmelden? Hochfahren? nur 1 Kamera anzeigen.)

Dank im Voraus.

Antwort1

(Ja, ich füge eine zweite Antwort hinzu.)

Ihrer Beschreibung zufolge haben Sie die entsprechende Zeile zu hinzugefügt /etc/sudoers, rufen sie jedoch nicht sudoin auf /etc/profile.

Der Befehl /etc/profilemuss lauten:

sudo net time set

Beachten Sie, dass dies bei jeder Anmeldung mit einem beliebigen Konto ausgeführt wird. Ist das Ihr Wunsch, oder wäre es sinnvoller, den Befehl einzufügen $HOME/.profile?

Um daraus einen Cron-Job zu machen, können Sie etwas wie Folgendes hinzufügen:

0 * * * * *      sudo net time set

zu, sagen wir, foo.txtdann crontab foo.txt. Danach crontab -lzeigt Ihnen Ihr aktueller Cron-Job (Ihre aktuellen Cron-Jobs). Mit den angegebenen Parametern wird der Job einmal pro Stunde ausgeführt man 5 crontabund bei Bedarf angepasst. Es gibtkönnteEs kann einige Probleme geben, da Cron-Jobs mit einer minimalen Umgebung ausgeführt werden, aber ich glaube nicht, dass /usr/bin/netdies von irgendwelchen Umgebungsvariablen abhängt.

Beachten Sie, dass ntpddies im Gegensatz dazu dazu führen kann, dass die Uhr Ihres Systems zurückspringt, was zu Problemen führen kann.

Antwort2

Machen Sie sich keine Mühe.

Die übliche Methode, die Systemuhr synchronisiert zu halten, ist ntpd. Es sollte unter Ubuntu standardmäßig installiert und konfiguriert sein. Läuft bei Ihnen ein ntpdProzess? Ist die Uhr Ihres Systems falsch?

BEARBEITEN :

Ihrem Kommentar zu meiner anderen Antwort zufolge scheint es, als hätten Sie einen NTP-Server, den Sie verwenden können.

Sie sollten die ntpSoftware bereits auf Ihrem System installiert haben. dpkg -l ntpUm dies zu überprüfen. Wahrscheinlich läuft bereits ein ntpdDaemon, der jedoch nicht funktioniert, weil er nicht weiß, mit welchem ​​Server er kommunizieren soll. ps -ef | grep ntpdUm dies zu bestätigen.

/etc/ntp.confist die Konfigurationsdatei für NTP. Die Standardversion hat:

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Kommentieren Sie diese Zeilen aus und fügen Sie hinzu:

server your.ntp.server

dann renne:

sudo /etc/init.d ntp restart

man ntpdfür weitere Einzelheiten, aber das sollte für den Anfang genügen.

verwandte Informationen