Question D'où vient le nom d'utilisateur dans «yum history»?


Sur l'un de nos serveurs, yum history rapports:

[tschmidt@sl-was01p ~]$ sudo yum history
Loaded plugins: product-id, search-disabled-repos, security, subscription-
              : manager
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    30 | <dlewandowski>           | 2016-10-07 11:18 | E, I, U        |   38 EE
    29 | <dlewandowski>           | 2016-09-16 16:13 | Erase          |    3   
[...]

Mais l’utilisateur de connexion déclaré jure qu’il n’était pas près de la machine (physiquement ou logiquement) ni à cette heure-là, et last semble soutenir ceci:

[tschmidt@sl-was01p ~]$ last|grep dle
dlewando pts/0        al-dlewandowski. Tue Oct 11 09:01 - 09:23  (00:22)    
dlewando pts/0        al-dlewandowski. Tue Oct 11 08:37 - 08:40  (00:02)    
dlewando pts/1        al-dlewandowski. Tue Oct  4 11:04 - 11:09  (00:04)    
dlewando pts/0        al-dlewandowski. Tue Oct  4 10:50 - 11:11  (00:21)    

Syslog n'en rapporte aucun sudo activité de ou à cet utilisateur autour de la yum activité en question, non plus.

J'aimerais savoir pourquoi yum history rapporte cet utilisateur apparemment incorrect. D'où tire-t-il cette information? Le nom d'utilisateur n'apparaît nulle part dans /var/log/yum.log.


5
2017-10-11 18:22


origine


Avez-vous en quelque sorte plusieurs utilisateurs avec le même uid? - Michael Hampton♦
J'espère bien que non. :-) Tous les "vrais" utilisateurs du système (y compris celui en question et moi-même) sont authentifiés via sssd contre un domaine MS AD et nous nous assurons que chaque utilisateur AD obtienne un UID Linux unique et global. Mais cela soulève une question secondaire intéressante: yum stocker le nom de connexion, ou stocke-t-il l'UID et le résout en un nom via nssquand je cours yum history? - Tilman Schmidt
Après un peu plus de recherches, j'ai mis à jour ma réponse. J'espère que cela vous fournira les informations dont vous avez besoin. - K Richardson
Quant à l'autre partie de votre question. Avez-vous déjà découvert ce qui s'est passé? Mon prochain article à essayer (vous l'avez probablement déjà fait) serait de courir last -t 20161007111800 et voir qui était réellement connecté à ce moment-là. Ensuite, peut-être que ces informations pourraient être utilisées avec / var / log / secure pour donner des informations supplémentaires. - K Richardson
VNC (ou quelque chose de similaire) fonctionne-t-il dans votre environnement? J'ai pu reproduire le problème que vous avez montré ci-dessus en vous connectant, en démarrant VNC, en vous déconnectant (qui met à jour wtmp(fermeture de la session de connexion), puis connexion à la session VNC toujours en cours. ensuite sudo yum install. À présent last signale que je n'avais aucune session de connexion active au moment où miam rapporte la transaction. J'espère que cela t'aides! - K Richardson


Réponses:


Les commandes Yum enregistrent l'utilisateur qui s'est connecté à la machine (nom d'utilisateur). Vous pouvez voir le nom de connexion de votre session actuelle avec logname. su (avec ou sans sudo) lancera un nouveau shell, mais ne changera pas le nom de connexion.

Si tu cours yum history stats {TRANSACTION ID}, il vous indiquera l'emplacement du fichier de base de données SQLite où les données de transaction yum sont stockées. Vous pouvez ouvrir ce fichier avec sqlite3 pour trouver toutes sortes d’informations. Une table appelée trans_beg a un champ appelé loginuid.

[root ~]# yum history stats 4
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
File        : //var/lib/yum/history/history-2015-11-10.sqlite
..
[root ~]# sqlite3 //var/lib/yum/history/history-2015-11-10.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .schema
CREATE TABLE trans_beg (
     tid INTEGER PRIMARY KEY,
     timestamp INTEGER NOT NULL, rpmdb_version TEXT NOT NULL,
     loginuid INTEGER);

2
2017-10-11 19:33



Comment cela explique-t-il le résultat obtenu? S'il enregistre l'utilisateur qui s'est connecté à la machine, mais que cet utilisateur n'était pas connecté à la machine à ce moment-là, comment a-t-il été enregistré? - Barmar