Linux define o horário da rede no login

Linux define o horário da rede no login

Na minha caixa Ubuntu 10.04 eu (um usuário, não root) posso emitir

sudo net time set

e funciona muito bem.

Eu preferiria que a caixa recebesse o tempo líquido com mais regularidade, ou pelo menos sempre que fosse logado. Então, tentei adicionartempo líquido definidopara/etc/perfil. Isso falha. Eu adicionei estrofes que parecem

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

para/etc/sudoers(usandovisual). Não ajudou.

eu nunca toqueicronentão não tenho ideia de como adicionar uma guia cron. (parece paradoxal depender da hora do sistema para redefinir a hora do sistema.)

  1. Qual é a melhor maneira de fazer isso?
  2. Se for um cron job, apreciaria um exemplo rápido.
  3. Mesmas perguntas, mas para o comandoreinicialização do servidor dhcp3 do serviço?

(sim, minha caixa obtém seu endereço por dhcp, mas seu servidor dhcp controla 4 placas gigabit enet conectadas a câmeras de alta velocidade. Às vezes, no login? inicialização? o servidor dhcp me deixa vendo apenas 1 câmera.)

Desde já, obrigado.

Responder1

(Sim, estou adicionando uma segunda resposta.)

Pela sua descrição, você adicionou a linha apropriada a /etc/sudoers, mas não está sudoinvocando /etc/profile.

O comando em /etc/profileprecisa ser:

sudo net time set

Observe que isso será executado sempre que qualquer conta fizer login. É isso que você deseja ou faria mais sentido inserir o comando $HOME/.profile?

Para torná-lo um cron job, você pode adicionar algo assim:

0 * * * * *      sudo net time set

para, digamos, foo.txt, então crontab foo.txt. Depois disso, crontab -lmostrará seus cron jobs atuais. Com os parâmetros fornecidos, o trabalho será executado uma vez por hora; man 5 crontabe ajuste conforme necessário. LápoderHá alguns problemas porque os cron jobs são executados em um ambiente mínimo, mas não acho que /usr/bin/netdependa de nenhuma variável de ambiente.

Observe que, diferentemente de ntpd, isso pode fazer com que o relógio do sistema retroceda, o que pode causar problemas.

Responder2

Não se preocupe.

A maneira usual de manter o relógio do sistema sincronizado é ntpd. Deve ser instalado e configurado por padrão no Ubuntu. Você tem um ntpdprocesso em execução? O relógio do seu sistema está incorreto?

EDITAR:

Pelo seu comentário na minha outra resposta, parece que você tem um servidor NTP que pode usar.

Você já deve ter o ntpsoftware instalado em seu sistema. dpkg -l ntpverificar. Você provavelmente ntpdjá tem um daemon em execução, embora ele não funcione porque não sabe com qual servidor conversar; ps -ef | grep ntpdpara confirmar isso.

/etc/ntp.confé o arquivo de configuração para ntp. A versão padrão possui:

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

Comente essas linhas e adicione:

server your.ntp.server

então corra:

sudo /etc/init.d ntp restart

man ntpdpara obter mais detalhes, mas isso deve ser suficiente para você começar.

informação relacionada