Como identifico um processo anônimo que está alterando uma configuração do sistema?

2

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?

    
por user1851006 17.10.2018 / 00:12

2 respostas

2

Acho que você quer dar uma olhada em auditd . O seguinte documento é do Redhat, mas também é aplicável ao CentOS 7:

Como monitorar permissão, propriedade ou qualquer outra alteração em um diretório ou arquivo específico

    
por 17.10.2018 / 03:34
0

/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.

Algumas informações básicas:

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.

    
por 17.10.2018 / 09:22