On Mon, 23 Sep 2002, Jean-Claude Schopfer wrote:

> 1. je me connect sur un serveur avec ssh
> 2. j'aimerai ex�cuter une commande qui me permet de savoir qui je suis
>    (login+ip+dns) de la connection courante.

Il faut comprendre le processus impliqu�: lorsqu'on se connecte par
r�seau, le processus shell n'est pas directement connect� au r�seau, mais
via un daemon particulier:

   - telnetd, qui s'occupe de la gestion/n�gociation des param�tres
     terminal

   - sshd, qui fork()e pour �viter des probl�mes de s�curit�

Donc la premi�re id�e (getpeername()) ne marche pas. On repose enti�rement
sur la qualit� avec laquelle le daemon concern� a rempli les fichiers
utmp/wtmp (cf leur man, section 5). Un des fichiers est celui qui
contient les utilisateurs actuellement connect�s, l'autre l'historique (cf
la commande last). Les syst�mes UNIX d�riv�s de System V ont souvent des
fichiers utmpx et wmtpx qui sont des versions �tendues de ces fichiers.

Maintenant, pour des raisons historiques, le nom de l'ordinateur n'est
pas sauv� enti�rement (champ fixe).

En regardant tr�s rapidement, je vois:

-rw-rw-r--    1 root     utmp         5760 Sep 24 17:30 /var/run/utmp
-rw-rw-r--    1 root     utmp       213888 Sep 24 13:16 /var/log/wtmp

donc utmp est l'�tat, wtmp le log.

La structure est d�finie notamment dans:
   /usr/include/bits/utmp.h

d'apr�s ce que je vois, UT_HOSTSIZE est `assez' long, soit 256 caract�res.
Il se peut cependant que le programme login, telnetd ou sshd concern�
soit plus conservateur.

Du moins sur ma machine, avec `who am i', je vois 18 caract�res au moins.
Avec last, il y a certes tronquage, mais c'est apparemment configurable
par une option.

> Le prob c'est que je peux d�j� avoir 10 connections ouvertes � mon
> nom provenant d'autres machines clientes. Et bien s�r d'autres
> personnes sur le serveur.

Pour information, c'est pour quoi faire ?  J'esp�re pas pour un
xhost +$REMOTE_HOST


> > Tiens mais je suis sur government.linux-gull.ch (comment savoir quelle
> > version de debian?) ...
> 
> uname -a
> cat /etc/issue

schaefer@defian:~% cat /etc/debian_version 
3.0

encore que la version de Debian d�pende aussi de ce qu'il y a dans
/etc/apt/sources.list et dans /etc/apt/*


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à