В моем ящике Ubuntu 10.04 я (пользователь, а не root) может выдавать
sudo net time set
, и он отлично работает.
Я бы предпочел, чтобы ящик получил сеть время на более регулярной основе или, по крайней мере, каждый раз, когда он вошел в систему. Поэтому я попытался добавить время сети, установленное в / etc / profile . Это не удается. Я добавил строфы, похожие на
user ALL=(ALL) NOPASSWD: /usr/bin/net
на / etc / sudoers (с использованием visudo). Не помогло.
Я никогда не касался cron, поэтому я понятия не имею, как добавить вкладку chron. (похоже, оксюмороны зависят от системного времени для сброса системного времени.)
(да, мой ящик получает свой адрес dhcp, но его сервер dhcp управляет 4-гигабитными картами enet
Спасибо заранее.
Спасибо за внимание.(Да, я добавляю второй ответ.)
Из вашего описания вы добавили соответствующую строку в /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 это может привести к часам вашей системы для перехода назад, что может вызвать проблемы.
Не беспокойтесь.
Обычный способ сохранить синхронизацию системных часов - 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 для получения дополнительной информации. подробности, но этого должно быть достаточно, чтобы вы пошли.