Permite monitorizar [o tomar el control] el acceso a las terminales por parte de servicios remotos [ssh, telnet...]
Habilitar la aceptación de contraseñas por parte de ssh:
# nano /etc/ssh/sshd_config
Descomentar y modificar el parámetro:
UseLogin yes
Guardar y reiniciar ssh:
# /etc/init.d/ssh restart
Reemplazar el login original por el ttysnnops.
# cd /bin/
# cp -a login lg
# cp -a /usr/sbin/ttysnoops /bin/login
Si al lanzar el último comando sale algo parecido a:
cp: no se ha podido crear el fichero ordinario «/bin/login»: Text file busy
Es que existe alguna consola tty funcionando, aunque no sea como root o root está activo en alguna pts. Matar las consolas y salir de los procesos.
Cambiar los permisos del nuevo login:
# chmod 4755 /bin/login
Editar:
# nano /etc/snooptab
Y modificar la linea:
* socket login /bin/login
por:
* socket login /bin/lg
Cuando por los comandos "who" o "finger" observemos que alguien se ha conectado a nuestra máquina:
# who
marquex pts/2 2010-09-24 16:59 (tux.local)
marquex tty7 2010-09-24 16:42 (:0)
marquex pts/0 2010-09-24 16:50 (:0.0)
Lanzar la aplicación:
# ttysnoop 2
Connected to /dev/pts/2 snoop server...
Ctrl+'\' (ASCII 28) to suspend, Ctrl+'-' (ASCII 31) to terminate.
Snoop password:
Verified OK... Snoop started.
La contraseña a introducir tiene que ser la de root, no vale la de usuario con sudo, por tanto los ubunteros:
# passwd root