Tenho tentado descobrir isso e parece uma situação mais fácil de falar do que fazer. Atualmente estou configurando um servidor que envia erros, falhas de login, quem acessou o quê e quando, etc....
Estou tentando descobrir como posso rastrear um usuário se ele tentar fazer uma alteração de permissão. Digamos que Bob execute 'chmod 777', mas ele não tem permissão para alterar o arquivo. Então, em vez de o sistema dizer não, ele não pode fazer isso, ele também gera um erro que posso ver que foi feita uma tentativa. Como posso registrar esse erro (se ainda não estiver) e onde esse local seria armazenado? /var/log/mensagens? OU eu teria que configurar uma regra auditctl para que isso funcionasse como eu quero também? Obrigado a todos antecipadamente
Responder1
De man auditctl
:
To watch a file for changes (2 ways to express):
auditctl -w /etc/shadow -p wa
auditctl -a always,exit -F path=/etc/shadow -F perm=wa
- -w: Insere um watch para o objeto do sistema de arquivos no caminho, ou seja, /etc/shadow.
- -p: Defina o filtro de permissões para uma observação do sistema de arquivos. w=escrever, x=executar, a=mudança de atributo.
Você também pode adicionar -k que ajudará a pesquisar logs de auditoria para esses eventos usando ausearch
.
- -k: Defina uma chave de filtro em uma regra de auditoria. A chave de filtro é uma sequência arbitrária de texto que pode ter até 31 bytes de comprimento. Ele pode identificar exclusivamente os registros de auditoria produzidos por uma regra.
Na verdade, a regra precisará ser implementada /etc/audit/audit.rules
para ser permanente. auditd
precisará ser ativado e iniciado também ( systemctl enable auditd.service
e systemctl start auditd.service
).
Você pode encontrar mais informações nesteArtigo da solução Red Hat. Você está executando o CentOS, então os detalhes aqui ainda se aplicarão diretamente a você.