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

29 Jun

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!

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

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

  1. admin September 8, 2007 at %I:%M %p #

    Estive verificando as possibilidades do script (desculpem pelo atraso, só deu pra fazer isso agora), e realmente o caboclo só se mata se quiser rs*.

    Não há necessidade de implementação a mais no script para que o cara não se mate :].

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  2. Felipe 'chronos' Prenholato August 27, 2007 at %I:%M %p #

    Olá Hiro, muito obrigado :).

    Olá Jonas, não tinha observado este detalhe :], mas veja bem … ele vai ter que passar o nome da máquina ou ip hehe … acho improvável ser a dele mesmo.

    De qualquer modo te mando a solução hoje ou amanhã, é bem simples 🙂

    Abraços e obrigado!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  3. Felipe 'chronos' Prenholato August 27, 2007 at %I:%M %p #

    Olá Hiro, muito obrigado :).

    Olá Jonas, não tinha observado este detalhe :], mas veja bem … ele vai ter que passar o nome da máquina ou ip hehe … acho improvável ser a dele mesmo.

    De qualquer modo te mando a solução hoje ou amanhã, é bem simples 🙂

    Abraços e obrigado!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  4. Jonas Abreu August 26, 2007 at %I:%M %p #

    Olá Chronos,

    Gostei bastante do script (assim que precisar uso ele heheh) e da falha de segurança que as pessoas costumam deixar (é realmente um absurdo).
    Só achei muito perigoso o cara que estiver rodando o script poder matar o próprio bash (mas se ele fizer isso problema dele. rm -fr na raiz também causa muitos problemas hehe)

    Até!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  5. Hiro August 13, 2007 at %I:%M %p #

    boa dica =)
    tá ajudando hahaha

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply