Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] utmp, wtmp - Enregistrements de connexion. [size=18] [b]Résumé[/b] [/size] #include
[size=18] [b]Description[/b] [/size] Le fichier [i]utmp[/i] permet de voir qui est connecté sur le système. Tous les programmes n'utilisant pas les enregistrement utmp, il se peut qu'il y ait plus d'utilisateurs que ceux affichés. [b]Attention :[/b] [i]utmp[/i] ne doit pas être accessible en écriture car de nombreux programmes systèmes dépendent (malheureusement) de son intégrité. En laissant [i]utmp [/i] accessible en écriture pour les utilisateurs, vous prenez le risque d'avoir de mauvais fichiers de journalisation, et des modifications de fichiers système. Le fichier est une suite d'enregistrements avec la structure suivante (remarquez que les détails d'implémentation dépendent d'une version à l'autre de la bibliothèque C):[table][row][col] [/col][col] .nf .ta 3i #define UT_UNKNOWN 0 #define RUN_LVL 1 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS 7 #define DEAD_PROCESS 8 #define ACCOUNTING 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status { short int e_termination; /* Code de fin du processus */ short int e_exit; /* Valeur de fin du processus */ }; struct utmp { short ut_type; /* type de login */ pid_t ut_pid; /* pid du processus */ char ut_line[UT_LINESIZE]; /* périphérique tty - "/dev/" */ char ut_id[4]; /* ID tty initial */ char ut_user[UT_NAMESIZE]; /* nom utilisateur */ char ut_host[UT_HOSTSIZE]; /* nom hôte si login distant */ struct exit_status ut_exit; /* Code de fin d'un processus */ /* déjà marqué DEAD_PROCESS. */ long ut_session; /* ID de session */ struct timeval ut_tv; /* Horodatage */ int32_t ut_addr_v6[4]; /* Adresse IP hôte distant */ char pad[20]; /* Remplissage, réservé... */ }; /* Bidouille pour compatibilité ascendante */ #define ut_name ut_user #ifndef _NO_UT_TIME #define ut_time ut_tv.tv_sec #endif #define ut_xtime ut_tv.tv_sec #define ut_addr ut_addr_v6[0] .fi[/col][/row][/table] Cette structure donne le nom du fichier spécial associé au terminal de l'utilisateur, le nom d'utilisateur, l'heure de connexion sous la forme [b]time (2).[/b] Les chaînes de caractères se terminent par [b]'[/b]e0' si elles sont plus courtes que les longueurs définies dans la structure. Le premier enregistrement créé est le traitement de [b]inittab (5)[/b] par [b]init (8). [/b] Néanmoins, avant ça, [b]init (8)[/b] positionne le champ [b]ut_type[/b] à [b]DEAD_PROCESS[/b], et efface [b]ut_user[/b], [b]ut_host[/b] et [b]ut_time[/b] (remplis avec des octets nul) de tous les enregistrement dont l'[b]ut_type[/b] n'est ni [b]DEAD_PROCESS[/b] ni [b]RUN_LVL[/b], et si aucun processus de PID [b]ut_pid[/b] n'existe. Si aucun enregistrement vide n'est trouvé avec le [b]ut_id[/b] correct, init en crée un nouveau. Il positionne [b]ut_id[/b] en s'aidant de l'inittab, [b]ut_pid[/b] et [b]ut_time[/b] avec les valeurs actuelles et [b]ut_type[/b] à [b]INIT_PROCESS[/b]. [b]getty (8)[/b] récupère l'entrée correspondant à son PID, modifie [b]ut_type[/b] à la valeur [b]LOGIN_PROCESS[/b], modifie [b]ut_time[/b], positionne [b]ut_line[/b] et attend une connexion. Une fois qu'un utilisateur est authentifié, [b]login (8)[/b] modifie [b]ut_type[/b] à [b]USER_PROCESS[/b], modifie [b]ut_time[/b] et positionne [b]ut_host[/b] et [b]ut_addr[/b]. En fonction du [b]getty (8)[/b] et [b]login (8)[/b] utilisés, les enregistrements sont parfois identifiés par [b]ut_line[/b] plutôt que [b]ut_pid[/b] qui est toutefois préférable. Quand [b]init (8)[/b] s'aperçoit qu'un processus est terminé, il identifie son enregistrement utmp grâce au champ [b]ut_pid[/b], positionne [b]ut_type[/b] a [b]DEAD_PROCESS[/b] et efface [b]ut_user[/b], [b]ut_host[/b] et [b]ut_time[/b] avec des octets nuls. [b]xterm (1)[/b] (comme les autres émulateurs de terminaux) crée directement un enregistrement [b]USER_PROCESS[/b], engendrant [b]ut_id[/b] grâce aux deux dernières lettres de [b]/dev/ttyp[/b][i]%c[/i] ou en utilisant [b]p[/b][i]%d[/i] pour [b]/dev/pts/[/b][i]%d[/i]. S'il trouve un [b]DEAD_PROCESS[/b] pour cet ID, il le recycle, sinon il en crée un nouveau. Si possible, il marque l'enregistrement avec [b]DEAD_PROCESS[/b] à la sortie. Il est recommande qu'il efface également [b]ut_line[/b], [b]ut_time[/b], [b]ut_user[/b] et [b]ut_host[/b]. [i]xdm[/i](8) ne doit pas créer d'enregistrement car il n'y a pas de terminal associé. Le forcer à en créer peut déclencher des problèmes, tels que l'impossibilité de faire fonctionner finger. Par contre [i]xdm[/i] peut très bien créer des entrées wtmp tout comme [b]ftpd (8).[/b] [b]telnetd (8)[/b] construit un enregistrement [b]LOGIN_PROCESS[/b] et laisse le reste du travail à [b]login (8).[/b] Une fois que la session telnet est terminée, [b]telnetd (8)[/b] efface l'utmp de la manière décrite plus haut. Le fichier [b]wtmp[/b] enregistre les connexions et déconnexions. Son format est exactement le même que [b]utmp[/b] excepte qu'un utilisateur nul indique une déconnexion sur le terminal associé. De plus un nom de terminal [b]"~"[/b], associe à un nom d'utilisateur [b]"shutdown"[/b] ou [b]"reboot"[/b] indique un arrêt ou un redémarrage du système. Une paire d'enregistrements avec les noms de terminaux [b]"|"[/b] / [b]"}"[/b] indique une modification de l'heure système avec [b]date (1).[/b] Le fichier [b]wtmp[/b] est maintenu par [b]login (1),[/b] [b]init (1) [/b] et quelques un des [b]getty (1).[/b] Aucun de ces programmes ne crée le fichier, aussi si on le supprime, les enregistrements de connexions sont arrêtés. [size=18] [b]Fichiers[/b] [/size] /var/run/utmp [b][/b] /var/run/wtmp [size=18] [b]Conformité[/b] [/size] Les enregistrements utmp de Linux ne se conforment ni à v7/BSD ni à SYSV. Ils sont en réalité un mélange des deux. v7/BSD dispose de moins de champs, par exemple pas de [b]ut_type[/b], ce qui conduit les programmes pour v7/BSD à afficher des entrées invalides de login. Sous Linux (comme sous SYS V), le champ [b]ut_id[/b] d'un enregistrement ne sera jamais modifié après son initialisation. L'effacement de [b]ut_id[/b] peut engendrer des conditions de concurrence menant à l'endommagement des enregistrements utmp. SYSV n'utilise le champ [b]ut_type[/b] que pour noter et horodater des messages informatifs comme par exemple [b]"new[/b] time". [b]UT_UNKNOWN[/b] semble être une innovation de Linux. SYSV n'a pas de champs [b]ut_host[/b] ni [b]ut_addr_v6[/b]. Contrairement à d'autres systèmes, sur lesquels l'effacement du fichier arrête la journalisation, le fichier utmp doit toujours exister sous Linux. Si vous désirez désactiver [i]who[/i](1) alors laissez le fichier utmp en place, mais ne le laissez pas lisible par tout le monde. Notez que l'implémentation de la structure utmp a changé entre les bibliothèques C libc5 et libc6. A cause de ceci, les fichiers exécutables utilisant l'ancien format libc5 risquent d'endommager les fichiers [b]/var/run/utmp et/ou /var/log/wtmp .[/b] Les distributions Debian utilisent une version modifiée de libc5 proposant le nouveau format. Néanmoins, le problème persiste car wtmp est accédé directement dans la libc5. [size=18] [b]Restrictions[/b] [/size] Le format de ces fichiers dépend de la machine, et il est recommandé de ne les utiliser que sur la machine où ils ont été créés. [size=18] [b]Bugs[/b] [/size] Cette page de manuel est basée sur la libc5, et les choses fonctionnent peut-être différemment à présent. [size=18] [b]Voir aussi[/b] [/size] [b]ac (1),[/b] [b]date (1),[/b] [b]last (1),[/b] [b]login (1),[/b] [b]who (1),[/b] [b]getutent (3),[/b] [b]updwtmp (3),[/b] [b]init (8)[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1996-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?