Chronosbox

Matando sessões de outros usuários em servidores *nix, mas só como root.

by Felipe 'chronos' Prenholato on Segunda, 06 Abril/2009, under Linux

Bem, certo dia da minha vida, tive que kickar um sysadmin do servidor dele, onde eu
estava instalando um portal pq ele realmente estava me atrapalhando, ficava reiniciando postgresql toda hora, o servidor também … enfim, ridículo :D .

Me bateu uma luz (por causa do mesmo sysadmin) hoje e fiz uma coisa legal, segue
abaixo um script para kickar todos os usuários que não seja o que vc passar ou
kickar o que vc passar, pegando principalmente por IP/Maquina deles.

Naturalmente você só poderá rodar o script como root, mas acredite, não é difícil conseguir.
A maioria dos servidores acaba dando uma permissão com sudo a algum arquivo usando vim, tipo, sudo vim /etc/apache/vhosts/seuvhost.conf, dentro do vim, execute :!su - e você terá um shell como root.

#!/bin/bash

# a ideia eh matar todos os bashs menos o seu, impossibilitando alguem
# de atrapalhar o servico.
#
# o script eh dedicado a um homem chamado Jomar.
#
# Este script eh licenciado sobre a GPLv2 e toda alteracao devera ser
# publicada e enviada se possivel ao criador.

# Autor:
# Felipe Prenholato
# chronos@gentoobr.org

QUEM=$1
EXPULSAR=$2

if [ "$EXPULSAR" == "S" ]
then
    GREP="grep"
elif [ "$EXPULSAR" == "N" ]
then
    GREP="grep -v"
else
    echo "Use: mata [IP|NOME_MAQUINA] [S|N]"
    echo "O segundo argumento define se o cara vai ser expulso ou se
 fica no micro."
    exit 1
fi

w | grep "^[a-z]" | ${GREP} "$QUEM" | tr -s 't' ' ' | cut -d' ' -f2
tmp/tmpmata

for e in $(cat /tmp/tmpmata);
do

    PROCESSOS=$(ps aux | grep bash | grep $e | tr -s 't' ' ' | cut
 	-d' ' -f 2)

    kill -9 $PROCESSOS

done

Use com cuidado e por sua conta. Isto pode causar demissão por justa
causa
ou te arranjar um grande problema.

Ele em um while true rodando impede que qq ser vivo que não seja do seu
IP/Maquina entre via ou terminal.

EU NÃO ME RESPONSABILIZO!

:, , , ,

5 Comments for this entry

Leave a Reply

StatPress

Visits today: 54 Visits since 6 de abril de 2009: 13807 Visitors now: %visitoronline%