0 votes

Comment puis-je obtenir les dernières connexions/arrêts/redémarrages situés sur un volume à partir d'un autre Mac ?

J'aimerais que la last pour afficher les informations de connexion et de déconnexion situées sur un volume à partir d'un autre Mac. J'ai monté ce volume à /Volumes/1013 .

Où se trouve last de ces informations ? Je préfère ouvrir le fichier journal concerné et le lire directement plutôt que d'utiliser Terminal.

Image ajoutée en réponse à l'utilisateur nohillside ci-dessous :

enter image description here

Résolu par Jaume (détails ci-dessous), en principe :

sudo chroot /Volumes/1013/ last -10

fonctionne pour High Sierra, il ne fonctionnait pas pour El Capitan, mais il est toujours très bon.

3voto

jaume Points 13186

last obtient ses informations de /var/run/utmpx un fichier qui enregistre les sessions des utilisateurs et des tty, les arrêts et les redémarrages du système actuel. utmpx est un fichier binaire, ce qui signifie que vous ne pouvez pas utiliser la fonction less o grep pour le lire ou rechercher des mots-clés.

Ainsi, pour obtenir les informations de session de l'autre Mac, nous voulons last lire /Volumes/1013/var/run/utmpx .

Malheureusement, last ne peut pas être chargé de lire un fichier différent de celui de /var/run/utmpx mais c'est là que chroot vient à la rescousse. chroot prend deux arguments, un chemin et une commande, définit le répertoire racine perçu de la commande sur le chemin spécifié et l'exécute.

Dans notre cas, c'est la commande dont nous avons besoin (tapez votre mot de passe de connexion lorsqu'on vous le demande) :

sudo chroot /Volumes/1013/ last

Cette commande modifie le répertoire racine pour qu'il pointe vers /Volumes/1013 de sorte que lorsque last lit /var/run/utmpx En réalité, il est écrit /Volumes/1013/var/run/utmpx .

Vous pouvez passer des options à last Si vous le souhaitez, vous pouvez également diriger la sortie vers grep pour obtenir des résultats plus pertinents, par exemple :

sudo chroot /Volumes/1013/ last -10 | grep <some user>

Si la commande ci-dessus ne fonctionne pas (par exemple, vous obtenez une erreur de segmentation), essayez ceci :

sudo chroot /Volumes/1013/ /Volumes/1013/usr/bin/last -10 | grep <some user>

c'est-à-dire exécuter l'exécutable à partir de l'autre Mac.

Notez qu'il y a une limite à l'ancienneté de la version MacOS, quelle que soit la méthode utilisée.

Par exemple, avec MacOS "Sierra" 10.12, last a fonctionné comme prévu, alors qu'avec OS X "Mavericks" 10.9, last n'imprime qu'une ligne et se bloque. dtruss montre qu'une incompatibilité grave est à l'origine du blocage :

$ sudo dtruss -p 39542
dtrace: system integrity protection is on, some features will not be available
SYSCALL(args)        = return
dtrace: 3870 dynamic variable drops with non-empty dirty list
lseek(0x8, 0x4000, 0x0)      = 16384 0
dtrace: error on enabled probe ID 2175 (ID 945: syscall::read_nocancel:return): invalid kernel access in action #12 at DIF offset 68

Vous pouvez contourner cette limitation en connectant le disque à un Mac exécutant une version plus ancienne de MacOS.

Pour plus d'informations sur chroot , courir man chroot dans le terminal.

1voto

nohillside Points 82672

Selon le man last les informations pertinentes sont lues dans le utmpx qui (voir man 5 utmpx ) est stocké dans la base de données /var/run/utmpx . Ainsi, si vous montez des volumes à partir d'un autre Mac sur votre réseau et les /var/ de ce Mac est accessible par le point de montage, vous trouverez les données dans /Volumes/1013/var/run/utmpx . Parce que utmpx est un format binaire, vous devrez écrire votre propre petit programme pour le lire (voir man endutxent pour les fonctions d'accès correspondantes).

Vous pouvez également essayer d'utiliser la fonction -h host option de last pour lire les entrées directement sur le réseau (il faut probablement que la connexion à distance soit activée, je ne l'ai jamais utilisée et je n'ai pas de deuxième Mac pour l'instant pour l'essayer).

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