Outils pour utilisateurs

Outils du site


serveurftp_quiestconnecte

Qui est connecté à mon serveur ftp?

[testé sur vsftp installé sur debian etch]

[origine: une discussion sur le forum: http://forum.debian-fr.org/viewtopic.php?t=9493&start=0 ]

EN CONSTRUCTION

On utilise la ligne suivante (en console sous root):

# lsof -i :21  -u^root -u^nobody | mawk '{print  $3 "   "$2"    "$8}' | sort -u |  | grep -v 'USER'

Cela donne si les utilisateurs “tyrtamos” et “jeanpaul” sont connectés à partir de la machine “192.168.0.99”:

jeanpaul   5103     192.168.0.215:ftp->192.168.0.99:1105
tyrtamos   5089     192.168.0.215:ftp->192.168.0.99:1103

Commentaires:

  • c'est “mawk” qu'il faut prendre (remplace awk)
  • le “-u^root” évite la ligne correspondant au processus d'écoute du serveur
  • le “-u^nobody” évite toutes les lignes correspondant aux processus d'autorisation de chaque connexion
  • le “$3” donne l'identifiant, le “$2” donne le pid et le “$8” donne l'IP appelante
  • le “sort -u” fait le tri, mais permet surtout de supprimer les doublons de la liste obtenue
  • le “grep” permet d'éviter la ligne qui correspond aux libellés des colonnes fournis par lsof (sinon, on a une ligne: “USER PID NODE”)

Amélioration possible: il est inutile de répéter le nom de la machine serveur. Il faudrait que la colonne:

nestidebian.local:ftp->192.168.0.99:1103

devienne:

192.168.0.99:1103

On devrait pouvoir faire ça par une expression régulière.

La commande est assez lente à cause de la tentative de convertion adresse IP → nom de domaine. Si on ne veut que les adresses IP, on utilise l'option “-n” de “lsof”, et la réponse est très rapide.

Avec tout cela, on a bien la liste demandée: les utilisateurs connectés à un moment donné au serveur ftp, avec l'IP de leur machine.

Mais je ne sais pas ce que ça donne si on configure vsftp avec des utilisateurs virtuels. Dans mes essais, mon vsftp est configuré avec les utilisateurs ayant un compte linux sur la machine qui a le serveur ftp.

En complétant par une recherche dans le fichier log, on devrait pouvoir dire depuis combien de temps la connexion est active, et donner la liste des fichiers téléchargés (dans les 2 sens).

serveurftp_quiestconnecte.txt · Dernière modification: 2007/12/15 09:48 par tyrtamos

Outils de la page