Como você pode registrar todos os comandos que alguém digitou no shell?
Estou perguntando, com base na proteção de si, se você está conectado ao servidor de outra pessoa e algo quebra, ou se outra pessoa está conectada ao seu servidor (intencionalmente ou maliciosamente).
Mesmo um novato pode história de bypass com unset history
ou criar um novo shell para esconder seus rastros.
Estou curioso para saber como os administradores sênior do linux rastreiam quais comandos foram inseridos / alterações feitas no sistema.
shell
security
command-history
history
spuder
fonte
fonte
execve
não é o único syscall que você precisa registrar. Por que nãoexecvp
também? Ouexecl
? etc.exec
diz que "Aexec()
família de funções substitui a imagem atual do processo por uma nova imagem do processo. As funções descritas nesta página do manual são front-ends paraexecve(2)
". Portanto, embora eu não tenha certezaexecveat
, posso me sentir seguro sobre aexec
família.Você pode usar o comando script . Este comando não está incluído no POSIX, mas você achará útil armazenar em um arquivo todas as teclas digitadas, bem como mensagens de saída e erro. Mais tarde, você pode visualizar o arquivo. Se você estiver realizando algum trabalho importante e desejar manter um log de todas as suas atividades, chame este comando imediatamente após efetuar o logon:
$ script
Script iniciado, o arquivo é datilografado
$ _ Observe que este é outro shell - filho do shell de login
O prompt retorna e todas as teclas digitadas (incluindo a usada para retroceder) que você digita aqui são registradas no arquivo 'datilografado'. Após o término da gravação, você pode encerrar a sessão digitando exit .
Nota: Se você digitar o nome do arquivo do script , a sessão será armazenada no nome do arquivo, em vez de texto datilografado , ou seja, texto datilografado é o padrão se nenhum nome de arquivo específico for especificado.
Agora você pode usar o nome do arquivo ou o tipo de gato , conforme o caso, para visualizar a sessão gravada.
Se você deseja anexar uma nova sessão a um arquivo antigo, use: script -a Anexa a nova sessão ao texto datilografado, a mesma regra padrão também se aplica aqui.
Essa é uma maneira pela qual um administrador do sistema pode acompanhar as sessões. Espero que tenha sido informativo e útil. Felicidades!
fonte