.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1993 Michael Haardt (michael@cantor.informatik.rwth-aachen.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified 1993-07-25 by Rik Faith (faith@cs.unc.edu) .\" Modified 1995-02-26 by Michael Haardt .\" Modified 1996-07-20 by Michael Haardt .\" Modified 1997-07-02 by Nicolás Lichtmaier .\" Modified 2004-10-31 by aeb, following Gwenole Beauchesne .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH utmp 5 "3 mai 2023" "Pagini de manual de Linux 6.05.01" .SH NUME utmp, wtmp \- înregistrări de autentificare .SH REZUMAT .nf \fB#include \fP .fi .SH DESCRIERE Fișierul \fIutmp\fP permite aflarea de informații despre cine utilizează în prezent sistemul. Este posibil să existe mai mulți utilizatori care utilizează în prezent sistemul, deoarece nu toate programele utilizează jurnalizarea utmp. .PP \fBAvertisment:\fP \fIutmp\fP nu trebuie să poată fi scris de către clasa de utilizatori „other” (alții), deoarece multe programe de sistem depind (în mod nebunesc) de integritatea sa. Riscați să falsificați fișiere de jurnal de sistem și să modificați fișiere de sistem dacă lăsați \fIutmp\fP cu permisiuni de scriere pentru orice alt utilizator decât proprietarul și grupul proprietar al fișierului. .PP Fișierul este o secvență de structuri \fIutmp\fP, declarate după cum urmează în \fI\fP (rețineți că aceasta este doar una dintre cele câteva definiții existente; detaliile depind de versiunea de libc): .PP .in +4n .EX /* Valori pentru câmpul ut_type, de mai jos */ \& #define EMPTY 0 /* Înregistrarea nu conține informații valide (cunoscută anterior ca UT_UNKNOWN pe Linux) */ #define RUN_LVL 1 /* Schimbarea nivelului de execuție a sistemului (a se vedea \fBinit\fP(1)) */ #define BOOT_TIME 2 /* Timpul de pornire a sistemului (în \fIut_tv\fP) */ #define NEW_TIME 3 /* Timpul după schimbarea ceasului sistemului (în \fIut_tv\fP) */ #define OLD_TIME 4 /* Timpul înainte de schimbarea ceasului sistemului (în \fIut_tv\fP) */ #define INIT_PROCESS 5 /* Proces generat de \fBinit\fP(1) */ #define LOGIN_PROCESS 6 /* Proces de lider de sesiune pentru autentificarea utilizatorului */ #define USER_PROCESS 7 /* Proces normal */ #define DEAD_PROCESS 8 /* Proces terminat */ #define ACCOUNTING 9 /* Neimplementat */ \& #define UT_LINESIZE 32 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 \& struct exit_status { /* Tip pentru ut_exit, de mai jos */ short e_termination; /* Starea de terminare a procesului */ short e_exit; /* Starea de ieșire a procesului */ }; \& struct utmp { short ut_type; /* Tipul de înregistrare */ pid_t ut_pid; /* PID\-ul procesului de autentificare */ char ut_line[UT_LINESIZE]; /* Numele dispozitivului tty \- „/dev/” */ char ut_id[4]; /* Sufixul numelui terminalului, sau ID\-ul inittab(5) */ char ut_user[UT_NAMESIZE]; /* Nume utilizator */ char ut_host[UT_HOSTSIZE]; /* Numele de gazdă pentru autentificarea de la distanță sau versiunea nucleului pentru mesajele de la nivelul de execuție */ struct exit_status ut_exit; /* Starea de ieșire a unui proces marcat ca DEAD_PROCESS; nu este utilizat de Linux init(1) */ /* Câmpurile ut_session și ut_tv trebuie să aibă aceeași dimensiune atunci când sunt compilate pe 32 și 64 de biți. Acest lucru permite partajarea fișierelor de date și a memoriei partajate între aplicațiile pe 32 și 64 de biți. */ #if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32 int32_t ut_session; /* ID\-ul sesiunii (\fBgetsid\fP(2)), utilizat pentru deschiderea ferestrelor */ struct { int32_t tv_sec; /* Secunde */ int32_t tv_usec; /* Microsecunde */ } ut_tv; /* Ora la care s\-a făcut înregistrarea */ #else long ut_session; /* ID\-ul sesiunii */ struct timeval ut_tv; /* Ora la care s\-a făcut înregistrarea */ #endif \& int32_t ut_addr_v6[4]; /* Adresa de internet a gazdei de la distanță; adresa IPv4 folosește doar ut_addr_v6[0] */ char __unused[20]; /* Rezervat pentru utilizare viitoare */ }; \& /* Trucuri de compatibilitate retroactivă */ #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] .EE .in .PP Această structură indică numele fișierului special asociat terminalului utilizatorului, numele de autentificare al utilizatorului și ora de autentificare sub forma \fBtime\fP(2). Câmpurile de tip șir de caractere se termină cu un octet nul („\e0”) dacă sunt mai scurte decât dimensiunea câmpului. .PP Primele intrări care sunt create provin întotdeauna din procesarea de către \fBinit\fP(1) a lui \fBinittab\fP(5). Totuși, înainte ca o intrare să fie procesată, \fBinit\fP(1) curăță utmp prin stabilirea lui \fIut_type\fP la \fBDEAD_PROCESS\fP, ștergând \fIut_user\fP, \fIut_host\fP și \fIut_time\fP cu octeți nule pentru fiecare înregistrare în care \fIut_type\fP nu este \fBDEAD_PROCESS\fP sau \fBRUN_LVL\fP și în care nu există un proces cu PID \fIut_pid\fP. În cazul în care nu se găsește nici o înregistrare goală cu \fIut_id\fP necesar, \fBinit\fP(1) creează una nouă. Definește \fIut_id\fP din inittab, \fIut_pid\fP și \fIut_time\fP la valorile curente, iar \fIut_type\fP la \fBINIT_PROCESS\fP. .PP \fBmingetty\fP(8) (sau \fBagetty\fP(8)) localizează intrarea după PID, schimbă \fIut_type\fP în \fBLOGIN_PROCESS\fP, modifică \fIut_time\fP, stabilește \fIut_line\fP și așteaptă stabilirea conexiunii. \fBlogin\fP(1), după ce un utilizator a fost autentificat, modifică \fIut_type\fP în \fBUSER_PROCESS\fP, modifică \fIut_time\fP și stabilește \fIut_host\fP și \fIut_addr\fP. În funcție de \fBmingetty\fP(8) (sau \fBagetty\fP(8)) și \fBlogin\fP(1), înregistrările pot fi localizate prin \fIut_line\fP în loc de preferabilul \fIut_pid\fP. .PP Când \fBinit\fP(1) constată că un proces a ieșit, localizează intrarea utmp prin \fIut_pid\fP, stabilește \fIut_type\fP la \fBDEAD_PROCESS\fP și golește \fIut_user\fP, \fIut_host\fP și \fIut_time\fP cu octeți nuli. .PP \fBxterm\fP(1) și alte emulatoare de terminale creează direct o înregistrare \fBUSER_PROCESS\fP și generează \fIut_id\fP utilizând șirul care sufixează o parte din numele terminalului (caracterele care urmează după \fI/dev/\fP[pt]\fIty\fP). Dacă găsesc un \fBDEAD_PROCESS\fP pentru acest ID, îl reciclează, în caz contrar creează o nouă înregistrare. Dacă pot, o marchează ca \fBDEAD_PROCESS\fP la ieșire și se recomandă să completeze \fIut_line\fP, \fIut_time\fP, \fIut_user\fP și \fIut_host\fP cu zerouri, de asemenea. .PP \fBtelnetd\fP(8) stabilește o intrare \fBLOGIN_PROCESS\fP și lasă restul în seama lui \fBlogin\fP(1), ca de obicei. După ce sesiunea telnet se încheie, \fBtelnetd\fP(8) curăță utmp în modul descris. .PP Fișierul \fIwtmp\fP înregistrează toate intrările și ieșirile. Formatul său este exact ca \fIutmp\fP, cu excepția faptului că un nume de utilizator nul indică o deconectare de la terminalul asociat. În plus, numele terminalului \fB\[ti]\fP cu numele de utilizator \fBshutdown\fP sau \fBreboot\fP indică o închidere sau o repornire a sistemului, iar perechea de nume de terminale \fB|\fP/\fB}\fP înregistrează ora veche/nouă a sistemului atunci când \fBdate\fP(1) o modifică. \fIwtmp\fP este întreținut de \fBlogin\fP(1), \fBinit\fP(1) și de unele versiuni de \fBgetty\fP(8) (de exemplu, \fBmingetty\fP(8) sau \fBagetty\fP(8)). Nici unul dintre aceste programe nu creează fișierul, astfel încât, dacă este eliminat, păstrarea înregistrărilor este oprită. .SH FIȘIERE \fI/var/run/utmp\fP .br \fI/var/log/wtmp\fP .SH VERSIUNI POSIX.1 nu specifică o structură \fIutmp\fP, ci una numită \fIutmpx\fP (ca parte a extensiei XSI), cu specificații pentru câmpurile \fIut_type\fP, \fIut_pid\fP, \fIut_line\fP, \fIut_id\fP, \fIut_id\fP, \fIut_user\fP și \fIut_tv\fP. POSIX.1 nu specifică lungimile câmpurilor \fIut_line\fP și \fIut_user\fP. .PP Linux definește structura \fIutmpx\fP ca fiind aceeași cu structura \fIutmp\fP. .SH STANDARDE Linux. .SH ISTORIC Intrările Linux utmp nu sunt conforme nici cu v7/BSD, nici cu System V; ele sunt un amestec al celor două. .PP v7/BSD are mai puține câmpuri; cel mai important este că nu are \fIut_type\fP, care face ca programele native de tip v7/BSD să afișeze (de exemplu) intrări moarte sau de conectare. Mai mult, nu există un fișier de configurare care să aloce sloturi pentru sesiuni. BSD face acest lucru deoarece îi lipsesc câmpurile \fIut_id\fP. .PP În Linux (ca și în System V), câmpul \fIut_id\fP al unei înregistrări nu se va schimba niciodată odată ce a fost definit, ceea ce rezervă acel slot fără a fi nevoie de un fișier de configurare. Ștergerea câmpului \fIut_id\fP poate duce la condiții de competiție de date care să conducă la intrări utmp corupte și la potențiale găuri de securitate. Ștergerea câmpurilor menționate mai sus prin umplerea lor cu octeți nuli nu este cerută de semantica System V, dar face posibilă rularea multor programe care presupun semantica BSD și care nu modifică utmp. Linux utilizează convențiile BSD pentru conținutul liniilor, așa cum este documentat mai sus. .PP .\" mtk: What is the referrent of "them" in the following sentence? .\" System V only uses the type field to mark them and logs .\" informative messages such as \fB"new time"\fP in the line field. System V nu are câmpurile \fIut_host\fP sau \fIut_addr_v6\fP. .SH NOTE Spre deosebire de alte sisteme, unde jurnalizarea utmp poate fi dezactivată prin eliminarea fișierului, utmp trebuie să existe întotdeauna pe Linux. Dacă doriți să dezactivați \fBwho\fP(1), nu faceți ca utmp să poată fi citit de toată lumea. .PP Formatul fișierului este dependent de mașină, astfel încât se recomandă ca acesta să fie procesat numai pe arhitectura mașinii pe care a fost creat. .PP Rețineți că pe platformele \fIbiarch\fP, adică pe sistemele care pot rula atât aplicații pe 32 de biți, cât și pe 64 de biți (x86\-64, ppc64, s390x etc.), \fIut_tv\fP are aceeași dimensiune în modul pe 32 de biți ca și în modul pe 64 de biți. Același lucru este valabil și pentru \fIut_session\fP și \fIut_time\fP, dacă acestea sunt prezente. Acest lucru permite ca fișierele de date și memoria partajată să fie partajate între aplicațiile pe 32 și 64 de biți. Acest lucru se realizează prin schimbarea tipului lui \fIut_session\fP în \fIint32_t\fP, iar cel al lui \fIut_tv\fP într\-o structură cu două câmpuri \fIint32_t\fP \fItv_sec\fP și \fItv_usec\fP. Deoarece \fIut_tv\fP poate să nu fie același lucru cu \fIstruct timeval\fP, atunci în loc de apelul: .PP .in +4n .EX gettimeofday((struct timeval *) &ut.ut_tv, NULL); .EE .in .PP se recomandă următoarea metodă de definire a acestui câmp: .PP .in +4n .EX struct utmp ut; struct timeval tv; \& gettimeofday(&tv, NULL); ut.ut_tv.tv_sec = tv.tv_sec; ut.ut_tv.tv_usec = tv.tv_usec; .EE .in .\" .PP .\" Note that the \fIutmp\fP struct from libc5 has changed in libc6. .\" Because of this, .\" binaries using the old libc5 struct will corrupt .\" .IR /var/run/utmp " and/or " /var/log/wtmp . .\" .SH BUGS .\" This man page is based on the libc5 one, things may work differently now. .SH "CONSULTAȚI ȘI" \fBac\fP(1), \fBdate\fP(1), \fBinit\fP(1), \fBlast\fP(1), \fBlogin\fP(1), \fBlogname\fP(1), \fBlslogins\fP(1), \fBusers\fP(1), \fButmpdump\fP(1), \fBwho\fP(1), \fBgetutent\fP(3), \fBgetutmp\fP(3), \fBlogin\fP(3), \fBlogout\fP(3), \fBlogwtmp\fP(3), \fBupdwtmp\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .