Como esse script funciona no CentOS7?

3

Encontrei um comando em um tutorial do CentOS7 para obter uma pequena tabela do número do usuário que tenta se conectar via ssh:

| try | ip | user |

O

O código é o seguinte:

zgrep -hi "Failed password for " /var/log/secure* | sed "s/invalid user //" | tr -s " " | awk '{print $11" "$9}' | sort | uniq -c | sort -rn | head -20

zgrep -hi "Failed password for " /var/log/secure* | 
sed "s/invalid user //" | 
tr -s " " | 
awk '{print $11" "$9}' | 
sort | 
uniq -c | 
sort -rn | 
head -20

Eu quero saber como funciona?

    
por Victor Alvarado 01.08.2017 / 22:50

1 resposta

2

O primeiro comando pesquisa seu log / var / log / secure em busca de tentativas de login com falha

zgrep -hi "Failed password for " /var/log/secure*

produzirá um resultado como este:

Aug  1 21:22:53 jbclamp001 sshd[40401]: Failed password for jbutryn from ip.ip.ip.ip port 55843 ssh2

o comando:

sed "s/invalid user //"

Pesquisará a frase "usuário inválido" e substituirá por ""

o comando:

tr -s " "

Cortará qualquer caractere extra em branco da string.

O comando:

awk '{print $11" "$9}'

irá pegar apenas as colunas 11 e 9 e imprimi-las (esse é o endereço IP e o nome de usuário)

o comando:

sort

classificará todos os seus resultados de forma alfanumérica?

o comando:

uniq -c

removerá quaisquer valores duplicados

o comando:

sort -rn

classifica a lista em ordem numérica reversa?

o comando:

head -20

mostrará apenas os 20 principais valores dos seus resultados.

    
por 01.08.2017 / 23:33

Tags