Linux задает время из сети при входе в систему

В моем ящике Ubuntu 10.04 я (пользователь, а не root) может выдавать

sudo net time set

, и он отлично работает.

Я бы предпочел, чтобы ящик получил сеть время на более регулярной основе или, по крайней мере, каждый раз, когда он вошел в систему. Поэтому я попытался добавить время сети, установленное в / etc / profile . Это не удается. Я добавил строфы, похожие на

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

на / etc / sudoers (с использованием visudo). Не помогло.

Я никогда не касался cron, поэтому я понятия не имею, как добавить вкладку chron. (похоже, оксюмороны зависят от системного времени для сброса системного времени.)

  1. Каков наилучший способ сделать это?
  2. Если это работа cron, я «Дайте быстрый пример.
  3. Те же вопросы, но для перезапуска сервера службы dhcp3-сервера?

(да, мой ящик получает свой адрес dhcp, но его сервер dhcp управляет 4-гигабитными картами enet

Спасибо заранее.

Спасибо за внимание.
0
задан 10 January 2012 в 23:25

2 ответа

(Да, я добавляю второй ответ.)

Из вашего описания вы добавили соответствующую строку в /etc/sudoers, но вы не вызываете sudo в /etc/profile.

Команда в /etc/profile должна быть:

sudo net time set

Обратите внимание, что это будет выполняться каждый раз, когда будет регистрироваться любая учетная запись. Это то, что вы хотите, или это будет более целесообразно поставить команду в $HOME/.profile?

Чтобы сделать это заданием cron, вы можете добавить что-то вроде этого:

0 * * * * *      sudo net time set

, скажем, foo.txt , затем crontab foo.txt. После этого crontab -l покажет вам текущее задание cron. При заданных параметрах задание будет выполняться один раз в час; man 5 crontab и при необходимости отрегулировать. Возможно, некоторые проблемы возникают из-за того, что задания cron работают с минимальной средой, но я не думаю, что /usr/bin/net зависит от любых переменных среды.

Обратите внимание, что в отличие от ntpd это может привести к часам вашей системы для перехода назад, что может вызвать проблемы.

1
ответ дан 25 May 2018 в 15:18
  • 1
    Наконец, у меня есть адрес сервера NTP, который я могу использовать! Итак, можете ли вы дать мне небольшое руководство по NTPD? Спасибо, Кейт! – Wes Miller 12 January 2012 в 18:22
  • 2
    @WesMiller: Я обновил свой другой ответ, который теперь кажется более актуальным. – Keith Thompson 13 January 2012 в 03:19
  • 3
    @WesMiller: Разве мой другой ответ не является фактическим решением, которое вы используете? – Keith Thompson 13 January 2012 в 04:49

Не беспокойтесь.

Обычный способ сохранить синхронизацию системных часов - ntpd. Он должен быть установлен и настроен по умолчанию на Ubuntu. У вас есть ntpd процесс?

EDIT:

Из вашего комментария к моему другому ответу, похоже, что у вас есть сервер NTP, который вы можете использовать.

[d5 ] У вас уже должно быть установлено программное обеспечение ntp в вашей системе. dpkg -l ntp для проверки. Вероятно, у вас уже есть демон ntpd, хотя он не будет работать, потому что он не знает, на каком сервере разговаривать; ps -ef | grep ntpd, чтобы подтвердить это.

/etc/ntp.conf - это файл конфигурации для ntp. Версия по умолчанию:

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

Прокомментируйте эти строки и добавьте:

server your.ntp.server

, затем выполните:

sudo /etc/init.d ntp restart

man ntpd для получения дополнительной информации. подробности, но этого должно быть достаточно, чтобы вы пошли.

1
ответ дан 25 May 2018 в 15:18
  • 1
    Мои системные часы были неправильными. Запуск набора времени net time , казалось, исправить. Интересно, что человек из net говорит, что мне нужно идентифицировать ntp-сервер. Я этого не сделал, но он все еще работал. Интересно, почему. Во всяком случае, очевидно, что ntpd не на моей машине и не работает. Я нахожусь в своих клиентах VPN и не могу подключиться к нему, но на удаленном рабочем столе. Если я не получу пакет, на котором я могу cp на машине, мне не повезло. – user 11 January 2012 в 18:39
  • 2
    Мои системные часы были неправильными. Запуск набора времени net time , казалось, исправить. Интересно, что человек из net говорит, что мне нужно идентифицировать ntp-сервер. Я этого не сделал, но он все еще работал. Интересно, почему. Во всяком случае, очевидно, что ntpd не на моей машине и не работает. Я нахожусь в своих клиентах VPN и не могу подключиться к нему, но на удаленном рабочем столе. Если я не получу пакет, на котором я могу cp на машине, мне не повезло. – user 11 January 2012 в 18:39
  • 3
    Мои системные часы были неправильными. Запуск набора времени net time , казалось, исправить. Интересно, что человек из net говорит, что мне нужно идентифицировать ntp-сервер. Я этого не сделал, но он все еще работал. Интересно, почему. Во всяком случае, очевидно, что ntpd не на моей машине и не работает. Я нахожусь в своих клиентах VPN и не могу подключиться к нему, но на удаленном рабочем столе. Если я не получу пакет, на котором я могу cp на машине, мне не повезло. – user 11 January 2012 в 18:39
  • 4
    Мои системные часы были неправильными. Запуск набора времени net time , казалось, исправить. Интересно, что человек из net говорит, что мне нужно идентифицировать ntp-сервер. Я этого не сделал, но он все еще работал. Интересно, почему. Во всяком случае, очевидно, что ntpd не на моей машине и не работает. Я нахожусь в своих клиентах VPN и не могу подключиться к нему, но на удаленном рабочем столе. Если я не получу пакет, на котором я могу cp на машине, мне не повезло. – user 11 January 2012 в 18:39
  • 5
    Итак, если вы не можете подключиться ни к чему, кроме вашего удаленного рабочего стола, тогда ntpd не сможет разговаривать с сервером NTP, если вы не можете настроить такой сервер на своем удаленном рабочем столе. (ntpd - правильное решение для большинства обстоятельств.) – Keith Thompson 12 January 2012 в 05:38

Другие вопросы по тегам:

Похожие вопросы: