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 setembro 8, 2007 at %H:%M 02Sat, 08 Sep 2007 14:11:26 +000026. #

    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 agosto 27, 2007 at %H:%M 10Mon, 27 Aug 2007 10:40:05 +000005. #

    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 agosto 27, 2007 at %H:%M 10Mon, 27 Aug 2007 10:40:05 +000005. #

    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 agosto 26, 2007 at %H:%M 02Sun, 26 Aug 2007 14:33:58 +000058. #

    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 agosto 13, 2007 at %H:%M 03Mon, 13 Aug 2007 15:19:35 +000035. #

    boa dica =)
    tá ajudando hahaha

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

Leave a Reply