AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 775999
Accepted
U. Windl
U. Windl
Asked: 2024-05-07 18:00:17 +0800 CST2024-05-07 18:00:17 +0800 CST 2024-05-07 18:00:17 +0800 CST

Quem muda `/proc/sys/kernel/random/boot_id` no Linux (SLES)?

  • 772

Bem, pensei que fosse lógico que o kernel mudasse /proc/sys/kernel/random/boot_iddurante a inicialização e depois mantivesse esse valor durante a execução. Pelo menos isso faria sentido para mim se o uso pretendido boot_idfosse descobrir quando a máquina foi reinicializada.

Ao monitorar o arquivo usando monit, notei que o arquivo parece mudar mesmo que a máquina não tenha reiniciado; isso significa que o carimbo de data/hora do arquivo muda, não o conteúdo.

Então, eu me pergunto quem altera os carimbos de data/hora do arquivo.

Para referência, aqui está minha configuração do monit sendo usada:

  check file bootid with path /proc/sys/kernel/random/boot_id
    #if changed timestamp then alert
    if content !=
       "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    then alert
    if changed checksum then alert
    group local

Ao verificar os resultados do monitoramento, obtive:

File 'bootid'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  permission                   444
  uid                          0
  gid                          0
  size                         0 B
  access timestamp             Tue, 07 May 2024 11:01:31
  change timestamp             Tue, 07 May 2024 11:01:31
  modify timestamp             Tue, 07 May 2024 11:01:31
  content match                no
  checksum                     d174a6b860689b62417af5eccd2b17ee (MD5)
  data collected               Tue, 07 May 2024 11:46:11

Verificação cruzada que obtive:

# stat /proc/sys/kernel/random/boot_id
  File: '/proc/sys/kernel/random/boot_id'
  Size: 0               Blocks: 0          IO Block: 1024   regular empty file
Device: 4h/4d   Inode: 9770501     Links: 1
Access: (0444/-r--r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-05-07 11:01:31.721335498 +0200
Modify: 2024-05-07 11:01:31.721335498 +0200
Change: 2024-05-07 11:01:31.721335498 +0200
 Birth: -
# uptime
 11:49am  up 14 days  0:49,  4 users,  load average: 0.00, 0.00, 0.00

O sistema está executando SLES12 SP5 em x86_64, e os únicos "suspeitos" são cron-jobs e "snapper":

May 07 11:00:01 v04 systemd[1]: Started Session 7426 of user root.
May 07 11:00:01 v04 systemd[1]: Started Session 7428 of user root.
May 07 11:00:01 v04 systemd[1]: Started Session 7427 of user root.
May 07 11:00:01 v04 CRON[5541]: (root) CMD ([ -x /usr/lib64/sa/sa1 ] && exe
May 07 11:00:01 v04 run-crons[5606]: suse.de-snapper: OK

linux
  • 2 2 respostas
  • 408 Views

2 respostas

  • Voted
  1. Best Answer
    Gilles 'SO- stop being evil'
    2024-05-07T18:33:30+08:002024-05-07T18:33:30+08:00

    Os carimbos de data e hora /procnão são realmente significativos. Em particular, a hora da modificação não indica quando o conteúdo muda. Não consigo encontrar documentação oficial sobre isso, mas, a partir de uma rápida análise da fonte, parece que todos os três carimbos de data e hora (atime, mtime, ctime) são definidos quando o inode é criado e nunca são atualizados.

    Os inodes são criados sob demanda. A demanda pode ser uma tentativa de ler o arquivo, uma tentativa de gravar no arquivo ou uma chamada stat( ls -l) no arquivo. Para alguns arquivos pode haver uma demanda interna por um valor que preencha um cache de dados e também crie a entrada do inode, mas não acho que isso se aplique aos /proc/sys/kernel/random/*quais são descritos como “botões herdados parcialmente não utilizados”.

    Portanto, o mtime na /procentrada provavelmente é a primeira vez que um aplicativo deseja o valor ou a primeira vez que seu software de monitoramento o atinge, o que ocorrer primeiro. Ou pode ser mais recente se o inode for removido do cache de arquivos. Em qualquer caso, pode ser arbitrariamente mais antigo ou mais recente que a criação do conteúdo.

    O boot_idvalor é gerado na primeira vez que o arquivo é lido e depois mantido na memória para sempre, pois deve estar estável até a próxima reinicialização.

    De qualquer forma, monitorar /procnão faz sentido. Estes não são arquivos reais, é conteúdo gerado sob demanda.

    • 8
  2. U. Windl
    2024-05-07T19:06:06+08:002024-05-07T19:06:06+08:00

    Basicamente https://unix.stackexchange.com/a/776000/320598 está certo, e fiz uma experiência para verificar (veja também /usr/src/linux/Documentation/sysctl/vm.txt):

    • echo 1 > /proc/sys/vm/drop_caches( pagecache gratuito ) não teve efeito
    • echo 2 > /proc/sys/vm/drop_caches( objetos de laje recuperáveis ​​​​gratuitos (inclui dentries e inodes) ) causou uma atualização de carimbos de data / hora
    • echo 3 > /proc/sys/vm/drop_caches( objetos de laje livres e pagecache ) causou uma atualização de carimbos de data/hora
    • 4

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve