Centralizando a hora numa rede local com Samba e estações Windows.

E voce, administrador duma rede Samba (Serviço de rede Microsoft no Linux) ainda tá preocupado em como acertar a hora das estações de trabalho ? Especialmente preocupado com a mudança de fuso-horário que ocorrerá 19 de outubro, o qual chamados de horário de verão ?
Existe um hotfix da microsoft para acertar o problema, mas no fundo mesmo, o melhor seria sincronizar os horários das estações a partir dum servidor, assim localmente todas as estações estariam sempre no mesmo horário e você não se preocuparia mais habilitar a opção de horário de verão do Windows e instalar hotfixes todos os anos para o mesmo problema. A solução a seguir é para quem administra redes Samba, e já tem o hábito de rodar logon scripts, portanto, se você não administra uma rede com Samba e/ou não roda logon scripts então esquece que a solução a seguir não é para você.

Se você tem o samba instalado, certifique-se de que em /etc/samba/smb.conf você possua as seguinte linhas :

time server = yes
time offset = 0

O parâmetro “time server” identifica o samba para ser um servidor de data/hora para as estações de trabalho, em teoria, as estações de trabalho ao logar-se nesse domínio teriam seu horário modificado em razão dele, mas enfim, para as estações Windows que se logam no Samba, isso não é tão automático assim.
O parâmetro “time offset” faz o samba recuar/avançar no seu relógio interno em relação ao horário da máquina, exemplificando, se a maquina marcar 14:00 hrs e eu tiver time offset= -60, o samba responderá a qualquer requisição de tempo, 13:00hrs. Isso é útil quando o seu servidor está com o horário em UTC e você precisa dar ao samba um horário com o fuso-horário local ou então como quebra-galho quando você percebeu de ultima hora que todas as estações mudaram seu fuso-horário para horário de verão sem o seu consentimento e terá de recuar a hora de todas as estações numa única vez e ganhar tempo para resolver o problema de verdade.

Agora, como esses parâmetros vão lhe ajudar ?
A resposta é simples, você roda logon scripts para os seus usuários ? Se roda, então inclua a linha :

net time \\server_samba /set /yes

Se incluir a linha acima nos seus scripts de logons então fará com que cada estação que rodar o script atualize a hora local conforme estiver no servidor \\server_samba.
Simples ? Nem tanto, agora vem a parte pesada.
O Windows não permite a um usuário restrito de domínio fazer operações como alterar a data/hora do sistema, assim, o ‘net time’ não vai funcionar, veja :

Teremos de ajustar as politicas do Windows, isto poderia ser feito com o group policies para o domínio inteiro, mas como eu não sei implementar isso no Samba, então vamos ter que gerenciar as politicas localmente a partir da estação.
No Windows, logue-se como administrador e execute o utilitário “C:\WINDOWS\system32\gpedit.msc“, então abra a estrutura assim :
Configuração do Computador -> Configuração do Windows -> Configurações de Segurança -> Diretivas locais -> Atribuições de direitos de usuário
Agora procure no painel à direita o item “Alterar a hora do sistema” e clique com o botão direito e acesse “Propriedades” :

Na janela de propriedades clique em “Adicionar Usuários ou grupos” :

E então adicione o grupo “Todos” ou “Usuários restritos”. Você pode adicionar qualquer grupos criados no domínio do Samba ou os pré-existentes em qualquer instalação do Windows. A relação de grupos ficará mais ou menos assim :

Clique no botão [OK] para concluir.

As modificações entrarão em vigor no próximo logon, veja :

Não haverá mais nenhuma restrição que nos impeça de mudar a hora do sistema através de script.
Maquinas com o Windows XP também podem usar o utilitário ‘w32tm’, mas eu preferí o ‘net time’ justamente porque ele também funciona com quem ainda tem Windows 98 na rede.

E o horário de verão ? Quase tinha me esquecido, digite no terminal de seu servidor :

sudo apt-get install tz-brasil

Assim, o horário de verão passará a iniciar e terminar no período certo, sem nenhum trauma.

%d blogueiros gostam disto: