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
.
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!
segunda, 13 em agosto/2007 on 15:19
boa dica =)
tá ajudando hahaha
domingo, 26 em agosto/2007 on 14:33
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é!
segunda, 27 em agosto/2007 on 10:40
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!
segunda, 27 em agosto/2007 on 10:40
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!
sábado, 08 em setembro/2007 on 14:11
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 :].