Acho que você quer dar uma olhada em auditd
. O seguinte documento é do Redhat, mas também é aplicável ao CentOS 7:
Eu vejo um processo anônimo alterando a hora do meu horário do sistema para UTC a cada 80 s. Usando o comando journalctl -f
, vejo apenas uma mensagem que diz
'systemd [1]: o tempo foi alterado', mas não identifica qual processo está fazendo isso.
Eu sei que qualquer um que mude a hora do sistema tem que editar o arquivo / etc / localtime. Existe alguma maneira que eu possa encontrar esse processo e deixar rastros, para que eu possa identificar o processo?
Acho que você quer dar uma olhada em auditd
. O seguinte documento é do Redhat, mas também é aplicável ao CentOS 7:
/etc/localtime
determina o fuso horário padrão do sistema. Não é necessário alterar este arquivo ao ajustar a hora do sistema, a menos que você também esteja alterando o fuso horário padrão do sistema ao mesmo tempo.
A mensagem systemd[1]: time has been changed
significa que algo está ajustando o relógio do sistema . Pode ser ntpd
, systemd-timesyncd
ou qualquer outro cliente NTP.
Observe que o comando date
mostrará um especificador de fuso horário junto com a data e a hora. Se o especificador de fuso horário mudar, algo está manipulando as configurações de fuso horário: se ele não mudar quando a hora do sistema for alterada, o relógio do sistema está sendo ajustado e as configurações de fuso horário são deixadas em paz.
Se uma sincronização de tempo NTP fizer com que a saída do comando date
normal salte para UTC, então seu fuso horário está configurado incorretamente. Você pode usar um comando timedatectl set-timezone
para definir seu fuso horário ou apenas copiar o arquivo de especificação de fuso horário apropriado de /usr/share/zoneinfo/
para /etc/localtime
. Para evitar confundir as ferramentas de configuração, você também deve alterar o valor em /etc/sysconfig/clock
para corresponder ao novo fuso horário do sistema padrão - mas lembre-se de que /etc/localtime
é a principal coisa que realmente determina o fuso horário do sistema padrão. /etc/sysconfig/clock
apenas fornece uma maneira fácil para as ferramentas de configuração descobrirem qual é a configuração atual.
O relógio do sistema de qualquer sistema do estilo Unix deve sempre rodar internamente no UTC. Todos os valores de registro de data e hora devem ser convertidos para UTC na entrada e de volta para o fuso horário preferido do usuário na saída. A sincronização de tempo do NTP também usa fundamentalmente apenas o UTC, de modo que se encaixa bem com essa prática padrão do Unix.
A variável de ambiente /etc/localtime
e / ou TZ
determina apenas as conversões usadas. Dessa forma, cada usuário ou até mesmo cada programa separado poderia usar um fuso horário diferente (definindo a variável de ambiente TZ sempre que um fuso horário não padrão fosse necessário) e o sistema ainda poderia ter um conceito unificado de tempo.
Esse esquema foi desenvolvido quando computadores eram objetos raros, grandes e caros, e os usuários podem estar usando conexões de modem baseadas em texto para acessar um único computador central a partir de vários fusos horários.
Como o Linux deve às vezes coexistir em um sistema de inicialização dupla com o Windows, o Linux possui um conceito separado de um relógio de hardware . Esse é o pequeno dispositivo normalmente operado por bateria que mantém a hora do sistema quando o sistema está desligado. O relógio do sistema, por outro lado, é baseado nos algoritmos de controle de tempo do kernel (e possivelmente nos registros do contador de registro de data e hora do processador, se disponível e livre de erros de hardware conhecidos).
O relógio do hardware pode ser configurado para horário local ou UTC. A terceira linha no arquivo /etc/adjtime
determina se uma conversão do horário local para o horário UTC é aplicada ao copiar a hora do relógio do hardware para o relógio do sistema quando o Linux está sendo inicializado ou se o relógio do hardware é usado diretamente. A última opção é muito mais robusta em face do fuso horário e das alterações do horário de verão, mas historicamente o Windows assumiu que o relógio do sistema usa o horário local e, portanto, o Linux precisa estar em conformidade com isso.