mejor manera para desconectar usuarios remotos
Julio Pacheco T.
julio.pacheco en provectis.cl
Lun Ene 26 15:40:35 CLST 2009
Victor Hugo dos Santos escribió:
> 2009/1/26 Aldrin Martoq <amartoq en dcc.uchile.cl>:
>> On Mon, 2009-01-26 at 10:22 -0300, Victor Hugo dos Santos wrote:
>
> [...]
>
>> // 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
>
> interessante.. me salvaste unas cuantas neuronas !! :D
>
> [...]
>
>> 4to: mata los procesos (deberias regenerar el /tmp/listapid.txt)
>>
>> // kill por favor de los procesos
>> # for i in $(cat /tmp/listapid.txt); do kill -HUP $i; done
>> # sleep 60
>
> he probado el -HUP y realmente desconecta a los usuarios remotos..
> pero la verdad es que en este caso no entiendo por que se usa el HUP.
De signal(7):
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
Pensado en modem, le cuelgas el telefono a la conexion. (Históricamente,
precisamente esa era la acción que gatillaba un SIGHUP)
> ya que siempre pense que el -HUP, serviria para hacer que un proceso
> leyera sus archivos de configurarcion sin "reiniciarlo" (un reload, en
> realiad).. y jamas lo utilizaria para el caso de mas arriba, pues
> "pensaba" que la senal TERM seria la mas apropiada.
En varios daemons se ha reutilizado HUP para ese proposito.
Otros usan SIGUSR1/2 para lo mismo.
--
Julio Pacheco T.
Consultor Tecnológico
ProVectis S.A.
Fono: 2319910 anexo 109
Más información sobre la lista de distribución Linux