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