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/