Como alguém determina as contagens de conexão SSH e SAMBA ativas?

1

Eu tenho um servidor que eu uso com pouca freqüência, então gostaria de cron um trabalho para desligar diariamente se nenhum usuário estiver logado via compartilhamentos SSH e SAMBA.

Como posso determinar quantas conexões SSH ativas existem e quantas conexões SAMBA ativas existem?

Se ambos os valores forem zero, o script cron desligará o servidor.

    
por Jamie 30.01.2011 / 18:13

2 respostas

5

Conexão ssh ativa:

# netstat -an | grep -E "\:22[ \t]+" | grep ESTABLISHED | wc -l
1

Conexão ativa do Samba:

# netstat -an | grep -E "\:445[ \t]+" | grep ESTABLISHED | wc -l

ou use lsof:

SSHCONNECTION='lsof -i :22 | grep ESTABLISHED | wc -l'
SAMBACONNECTION='lsof -i :445 | grep ESTABLISHED | wc -l'
echo "SSH connection: ${SSHCONNECTION} Samba connection ${SAMBACONNECTION}"
    
por 30.01.2011 / 18:15
2

Você pode verificar quaisquer conexões ativas em qualquer serviço usando o seguinte comando

netstat -an | grep ESTABLISHED | grep ":[portname] " | wc -l

Por portname você precisa selecionar a porta do serviço que está procurando, para o SSH que será a porta 22 (por isso deve ser grep ":22 " ) (o espaço por trás apenas garante que não é outra porta.

Se você quiser selecionar mais de uma porta (como seria no samba), altere grep para egrep ":(port|port|port) "

    
por 30.01.2011 / 18:16