4 votes

Fichier journal auquel `sudo last` accède ?

La commande bash last (a besoin de sudo) imprime les journaux, qui contiennent des informations sur le moment où les différents utilisateurs se connectent/déconnectent du shell.

J'ai cherché le fichier qui stocke cette information, qui last aurait accès. J'ai vérifié /var/log/system.log et d'autres fichiers dans /var/log .

J'ai également cherché partout sur Internet, mais je ne trouve pas l'emplacement.

J'ai, cependant, confirmé que le fichier se trouve dans /var/log parce que quand je l'ai fait rm -rf /var/log/ , sudo last a montré une sortie vide jusqu'à la prochaine fois que je me suis connecté.

Quel est ce fichier ? Merci.

(J'utilise OS X Mavericks si cela fait une différence).

3voto

Douglas Points 10417

Le fichier (exécutable) en question est /var/run/syslog

Si nous exécutons man last on obtient

SEE ALSO
     lastcomm(1), utmpx(5), ac(8)

On peut trouver utmpx en el /var/run directory Utmpx est une base de données de comptabilité des utilisateurs de actuel informations de connexion. La clé ici est cette déclaration trouvée dans le man page pour utmpx

Traditionnellement, des fichiers séparés étaient utilisés pour stocker le journal des connexions et des déconnexions (wtmpx). des connexions et déconnexions (wtmpx), et le dernier login de chaque utilisateur (lastlogx). Avec la disponibilité de la fonction de journal système d'Apple asl(3), ces fichiers séparés peuvent être remplacés par des entrées de journal, qui sont automatiquement générées lorsque des entrées utmpx sont écrites.

Donc, utmpx génère des entrées de journal dans la fonction syslog de l'OS X. Exécutez la commande suivante :

syslog | grep 'login\['

Et vous obtiendrez une liste de tous les événements de connexion depuis l'installation de l'OS (tronqué)

May 26 17:03:12 Allans-iMac login[5572] <Notice>: USER_PROCESS: 5572 ttys003
May 26 17:26:15 Allans-iMac login[5572] <Notice>: DEAD_PROCESS: 5572 ttys003
May 27 10:10:57 Allans-iMac login[5196] <Notice>: DEAD_PROCESS: 5196 ttys002
May 27 10:10:58 Allans-iMac login[4741] <Notice>: DEAD_PROCESS: 4741 ttys001
May 27 10:11:18 Allans-iMac login[6253] <Notice>: USER_PROCESS: 6253 ttys001
May 27 10:25:45 Allans-iMac login[6281] <Notice>: USER_PROCESS: 6281 ttys002
May 27 17:17:15 Allans-iMac login[6281] <Notice>: DEAD_PROCESS: 6281 ttys002
May 27 17:17:21 Allans-iMac login[6253] <Notice>: DEAD_PROCESS: 6253 ttys001
May 28 13:40:06 Allans-iMac login[7123] <Notice>: USER_PROCESS: 7123 ttys001
May 30 09:11:25 Allans-iMac login[1213] <Notice>: USER_PROCESS: 1213 ttys000
May 30 09:11:25 Allans-iMac login[1220] <Notice>: USER_PROCESS: 1220 ttys001
May 30 09:23:19 Allans-iMac login[1220] <Notice>: DEAD_PROCESS: 1220 ttys001
May 30 09:23:19 Allans-iMac login[1213] <Notice>: DEAD_PROCESS: 1213 ttys000
May 30 20:57:16 Allans-iMac login[1695] <Notice>: USER_PROCESS: 1695 ttys000
May 30 20:57:39 Allans-iMac login[1695] <Notice>: DEAD_PROCESS: 1695 ttys000
May 31 22:33:30 Allans-iMac login[2592] <Notice>: USER_PROCESS: 2592 ttys000
Jun  3 16:46:28 Allans-iMac login[2592] <Notice>: DEAD_PROCESS: 2592 ttys000
Jun  4 20:44:43 Allans-iMac login[1789] <Notice>: USER_PROCESS: 1789 ttys000

Pour obtenir des informations supplémentaires sur la comptabilité des utilisateurs, nous pouvons utiliser la commande ac

Exécuter man ac nous donne

    NAME
     ac -- display connect-time accounting

SYNOPSIS
     ac [-d] [-p] [-w file] [users ...]

DESCRIPTION
     A record of individual login and logout times are written to the system log by login(8) and launchd(8),
     respectively.  The program ac examines these records and writes the accumulated connect time (in deci-
     mal hours) for all logins to the standard output.

Ainsi, selon man ac Les informations de connexion sont écrites dans le journal du système. Exécution de ac nous donne "Si aucun argument n'est donné, ac affiche le temps total de connexion pour tous les comptes actifs sur le système".

$ ac
total     2477.23

Pour le ventiler par utilisateur :

$ ac -p
testguy      0.04
_mbsetupuser     0.39
allan     2476.74
root         0.07
total     2477.24

0 votes

Alors que system.log stocke les informations de connexion, mais je ne suis pas sûr qu'elles soient accessibles par le personnel de l'UE. last parce qu'en supprimant le fichier, le fichier last La sortie persiste. La même chose se produit-elle sur votre ordinateur ?

0 votes

Ce n'est pas le system.log c'est syslog

0 votes

Allan Désolé d'avoir été trop dur. Je n'ai pas vu la partie syslog car je n'ai pas bien rafraîchi votre réponse.

1voto

klanomath Points 63400

last dérive sa sortie en examinant les fichiers *.launchd.events.*.stats dans /private/var/log/com.apple.launchd .

La suppression des fichiers restreint généralement le last sortie au dernier login après le redémarrage. Par conséquent, une structure supplémentaire de fichier/base de données/mémoire doit exister.

La suppression des fichiers ne fonctionne pas systématiquement.

Les fichiers de statistiques dans les dossiers utilisateurs respectifs (par exemple, com.apple.launchd.peruser.0 ou com.apple.launchd.peruser.501) ne sont pas pertinents !

0 votes

Hmm... connaissez-vous leur format ?

1 votes

Cela ne devrait-il pas être /private/var/log/com.apple.xpc.launchd/ ? Ou cela a-t-il changé plus récemment ?

0 votes

@thepiercingarrow Jetez un coup d'oeil à utmpx.h pour un ensemble de fonctions pour y accéder. Ou à http://opensource.apple.com/source/adv_cmds/adv_cmds-163/las‌​t/last.c directement :-)

1voto

Rich Points 2429

last utilise /var/log/asl/* des fichiers.

Tirer dans un délai d'un Terminal fenêtre :

/usr/bin/sudo opensnoop

et dans un autre :

last

vous le montrera en détail.

Si vous voulez le lire à la source, le voici :

http://opensource.apple.com/release/os-x-1011/

télécharger :

Libc-1081.1.3

extraire ce fichier tar compressé :

tar fjx Libc-1081.1.3.tar.gz

et lire :

Libc-1081.1.3/gen/utmpx-darwin.c

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X