Tatsächlich sehe ich gemäß Ihrer Frage, dass dieser folgende Befehl das tut, was Sie brauchen. Dpkg -l | grep ii. Dies listet jedes installierte Paket so auf, wie es für mich sein sollte. Jetzt heißt es nicht Benutzer A oder Benutzer B, aber dies ist wiederum eine Einschränkung nicht von sudo, sondern von Software Center-Protokollen. Selbst wenn sudo verwendet wird, wird der Benutzer, der sudo aufgerufen hat, übergeben, sodass Sie immer noch ein Anwendungsprotokoll haben können, das sudo aufgerufen hat, um einen Befehl auszuführen. Jetzt können Sie dies natürlich ziemlich einfach umgehen, da sudo die Möglichkeit bietet, sich als jeder Benutzer [der Zugriff auf sudo hat] anzumelden, wenn Sie sein Kennwort kennen, es zu hacken oder es zu ändern, wenn Sie diese Rechte auf dem System haben.
Wenn Sie sich Sorgen darüber machen, was ein Benutzer installiert hat, wodurch Sie oder Ihr System gefährdet werden könnten, möchten Sie möglicherweise überprüfen, warum Sie ihm Sudo-Zugriff gewährt haben und außerdem die Möglichkeit, Pakete zu installieren, aber das ist nur eine Randnotiz.
Ich habe das Gefühl, Sie fragen sich, welche Pakete Sie seit der Systeminstallation installiert haben, damit Sie das Setup entweder bereinigen oder auf einem neuen Computer spiegeln können. Die Antworten hier beziehen sich bereits auf die Sicherung / Wiederherstellung, daher überspringen wir diese.
Da es nicht einfach ist, auf einfache Weise herauszufinden, welcher Benutzer die Installation eines Pakets aufgerufen hat, besteht ein besserer Ansatz darin, den oben aufgeführten Befehl sowie den eines anderen Benutzers zu verwenden, um alle installierten Pakete aufzulisten und ein Browserfenster für Google zu öffnen und auszuführen Google hat gesucht, um herauszufinden, welche Pakete erforderlich sind, um Ihr System funktionsfähig zu halten, und welche nicht.
Überspringen Sie hier, um den Großteil der Flusen zu überspringen und direkter zur Antwort zu gelangen ...
Sie können auch in Ihren sudoers-Protokollen nachlesen, wer die Installation von what aufgerufen hat, damit ich eine Beispielzeile gebe
May 15 11:26:30 <COMPUTERNAME> sudo: <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)
Das sagt mir also zu diesem Zeitpunkt und Datum, an dem dieser Benutzer ein Sudo aufgerufen hat [in diesem Fall wurde übrigens gksu verwendet], welcher Benutzer sudo ihnen Berechtigungen erteilt hat und welcher große der Befehl, den sie ausgeführt haben!
Wenn Sie nun im sudo-Protokoll [/var/log/auth.log] nach apt-get oder ähnlichem suchen, werden ältere .0 .1 etc an das Ende angehängt.
Sie könnten zusammenfügen, was der Benutzer auf der Kommandozeile selbst installiert. Wenn sie Software-Center verwendet haben, bin ich mir nicht sicher, ob der entsprechende Terminalbefehl hier eine Auth-Zeile erhalten würde, aber Sie können die Software-Center-Protokolle verwenden, die sich unter folgender Adresse befinden:
/var/log/apt/history.log und ältere Protokolle befinden sich in komprimierten .gz-Archiven
Das Software Center-Protokoll bietet dem Benutzer, der die Installationen autorisiert hat, keine Informationen, soweit ich dies jemals in diesem Protokoll gesehen habe. Es listet jedoch JEDES Hinzufügen, Ändern oder Entfernen von Software Center-Vorgängen auf. Auch dieses Protokoll enthält Zeit- und Datumsstempel, die so einfach sind, dass Sie nach der Installation des Basissystems einen Überblick über das älteste Protokoll erhalten. Wenn Sie sich an die Uhrzeit und das Datum erinnern, an dem die Basisinstallation abgeschlossen wurde, können Sie loslegen.
Beide genannten Protokolldateien sind im Klartext und Sie können einen beliebigen gedit-, mousepad- oder leafpad-Texteditor verwenden, den Ihre Ubuntu-Version standardmäßig verwendet, um sie anzuzeigen und / oder zu drucken.