it-swarm.com.de

Wie überprüfe ich, welches Paket einen Benutzer erstellt hat?

Es wird vermutet, dass bei einigen Paketen zur Installationszeit Skripts ausgeführt werden, mit denen Benutzerkonten in /etc/passwd erstellt werden. Wie kann ich überprüfen, welches Paket einen bestimmten Benutzer erstellt hat?

14
Cyker

Dies funktioniert relativ zuverlässig, wenn das Paket über dpkg (einschließlich mit apt install) installiert wurde. Siehe Murus Antwort für eine Liste der Benutzer, die in der Ubuntu-Standardinstallation erstellt wurden, und das Paket, mit dem sie erstellt wurden. Für diese Benutzer erzeugt diese Methode keine Ausgabe.

Sie können den Befehl verwenden:

grep -RlE '(adduser|useradd).*systemd' /var/lib/dpkg/info --include='*inst' | sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'

ersetzen Sie <user> durch den Namen des Benutzers, an dem Sie interessiert sind, z. B. systemd

Dies durchsucht die Skripte preinst und postinst aller Pakete, die dpkg bekannt sind, nach dem Befehl adduser oder useradd und dem fraglichen Benutzer, um festzustellen, welches Paket sich befindet verantwortlich für die Erstellung dieses Benutzers. Das Ergebnis wird an sed weitergeleitet, sodass nur der Paketname selbst anstelle des vollständigen Namens der Skriptdatei zurückgegeben wird.

Erläuterung

  • grep -RlE rekursiv suchen und nur die Namen von Dateien mit Übereinstimmungen drucken, erweiterte reguläre Ausdrücke verwenden
  • '(adduser|useradd).*<user>' /var/lib/dpkg/info --include='*inst' Suchen Sie nach dem Befehl adduser oder useradd und der Benutzer, den Sie in derselben Zeile suchen möchten (.* stimmt mit allen Zeichen überein und fängt alle Befehlsoptionen ab) das Verzeichnis, in dem dpkg Skripte in Dateien speichert, deren Namen mit inst enden
  • sed -r 's:.*/(.*)\.[-a-z]+inst:\1:' Entferne alles vor & einschließlich des letzten / im vollständigen Pfad und der .preinst oder .postinst Erweiterung

Vielen Dank an @muru, der eine übersichtlichere und schnellere Suchmethode vorgeschlagen hat, als find hier zu verwenden :)

16
Zanna

Es gibt eine wichtige Ausnahme zu den üblichen adduser - hinzugefügten Benutzern und Gruppen: die, die standardmäßig mit Ubuntu geliefert werden. Diese werden im Paket base-passwd bereitgestellt. Eine Liste der von diesem Paket hinzugefügten Benutzer und Gruppen ist in /usr/share/doc/base-passwd/users-and-groups.{html,txt.gz} angegeben (und beschrieben). Die Liste ist:

Benutzer (normalerweise mit entsprechenden Gruppen)

root    man     majordom    irc         gdm
daemon  lp      postgres    gnats       saned
bin     mail    www-data    nobody      klog
sys     news    backup      messagebus  syslog
sync    uucp    operator    postfix
games   proxy   list        haldaemon

Gruppen (ohne entsprechende Benutzer)

adm     fax     audio       staff       sshd
tty     voice   src         users       fetchmail
disk    cdrom   shadow      lpadmin     cupsys
kmem    floppy  utmp        sasl        nogroup
dialout tape    video       scanner
dip     Sudo    plugdev     ssh

Das Paket README (/usr/share/doc/base-passwd/README) listet auch einige Benutzer mit UIDs im Bereich 60000-64999 auf und gibt an, dass diese von den jeweiligen Paketen erstellt wurden.

Siehe auch:

15
muru