mejor manera para desconectar usuarios remotos

Germán Póo-Caamaño gpoo en calcifer.org
Lun Ene 26 15:51:29 CLST 2009


On Mon, 2009-01-26 at 14:16 -0300, Aldrin Martoq wrote:
> On Mon, 2009-01-26 at 10:22 -0300, Victor Hugo dos Santos wrote:
> > debo de desconectar todos los usuarios remotos (ssh) de un servidor
> > durante un periodo de tiempo semanal..
> > a principio pensé que deteniendo el servicio (/etc/init.d/ssh stop)
> > resolvería el tema, pero las conexiones activas, continúan activas
> > (plop ???)  !!!
> 
> Eso permite actualizar ssh remotamente: se actualiza, se reinica el
> servidor, pero sigues conectado. 
> 
> > Bueno, asi que pregunto a ustedes, cual es la mejor manera de
> > desconectar los usuarios remotos ??
> 
> 1ero: deja un aviso en el /etc/motd explicando tus politicas [mira el
> man de motd, aca en debian debes modificar /etc/motd.tail]
> 
> 
> 2do: determina quienes se conectaron via ssh. Una aproximacion es ver
> que procesos son hijos de sshd; aca un ejemplo:
> 
> // listar procesos hijos de sshd
> # pstree -p $(cat /var/run/sshd.pid )
> 
> // extraer PID's
> # pstree -up $(cat /var/run/sshd.pid )|\
> perl -ne '@a = ($_ =~ m/(\d+)/g); print join("\n", @a)."\n"'
> > /tmp/listapid.txt
> 
> // buscar usuarios (salvo root)
> # ps -ho user,tty $(cat /tmp/listapid.txt) | grep -v ^root
> # ps -ho user,tty $(cat /tmp/listapid.txt) | grep -v ^root \
> | awk '{print $1}' | uniq > /tmp/listausuarios.txt
> 
> 
> 3ero: avisa  a los usuarios
> // write a dichos usuarios
> # for i in $(cat /tmp/listausuarios.txt); do echo 'el mundo se va a
> acabar...' | write $i ; done

Los pasos 2 y 3 te los ahorras usando el viejo y casi olvidado wall(1).
> 
-- 
Germán Póo-Caamaño
http://www.calcifer.org/



Más información sobre la lista de distribución Linux