On soupçonne que certains scripts ont des scripts exécutés au moment de l'installation qui créent des comptes d'utilisateurs dans /etc/passwd
. Comment puis-je vérifier quel paquet a créé un utilisateur spécifique?
Cela fonctionnera de manière raisonnablement fiable si le paquet a été installé via dpkg
(y compris avec apt install
). Voir réponse de mur pour la liste des utilisateurs créés dans l'installation par défaut d'Ubuntu et le paquet qui les crée. Pour ces utilisateurs, cette méthode ne produira aucune sortie.
Vous pouvez utiliser la commande:
grep -RlE '(adduser|useradd).*systemd' /var/lib/dpkg/info --include='*inst' | sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'
remplacez <user>
par le nom de l'utilisateur qui vous intéresse, par exemple, systemd
Ceci recherche les scripts preinst
_ et postinst
de tous les packages connus de dpkg
à la commande adduser
ou useradd
et à l'utilisateur en question, afin de voir quel package est responsable de la création de cet utilisateur. Le résultat est redirigé vers sed, de sorte qu'il renvoie uniquement le nom du package lui-même au lieu du nom complet du fichier de script.
grep -RlE
recherche de manière récursive et n'imprime que les noms de fichiers contenant des correspondances, utilise des expressions régulières étendues'(adduser|useradd).*<user>' /var/lib/dpkg/info --include='*inst'
recherche la commande adduser
ou useradd
et l'utilisateur que vous souhaitez rechercher sur la même ligne (.*
correspondra à tous les caractères qui les séparent, en prenant toutes les options de commande) dans le répertoire où dpkg
stocke les scripts, dans les fichiers dont le nom se termine par inst
.sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'
supprime tout ce qui précède et y compris le dernier /
dans le chemin complet et l'extension .preinst
ou .postinst
Merci à @muru d’avoir suggéré un moyen de recherche plus simple et plus rapide que d’utiliser find
ici :)
Il existe une exception importante aux utilisateurs et groupes adduser
- habituellement ajoutés: ceux fournis avec Ubuntu par défaut. Ceux-ci sont fournis par le paquet base-passwd
. Une liste des utilisateurs et des groupes ajoutés par ce paquet est fournie (et décrite) dans /usr/share/doc/base-passwd/users-and-groups.{html,txt.gz}
. La liste est:
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
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
Le package README (/usr/share/doc/base-passwd/README
) répertorie également certains utilisateurs dont les UID sont compris entre 60000 et 64999 et indiquent qu'ils sont créés par les packages respectifs.
Regarde aussi:
base-passwd
pour 14.04 - vous pouvez voir la liste des utilisateurs et des groupes dans les fichiers *.master
.