Подозревается, что некоторым пакетам выполняли сценарии во время установки, которые создают учетные записи пользователей в /etc/passwd
. Как я могу проверить, какой пакет создал определенного пользователя?
Это будет работать достаточно надежно, если пакет был установлен с помощью dpkg
(в том числе с помощью apt install
). См. ответ Муру для получения списка пользователей, созданных при установке Ubuntu по умолчанию, и пакета, который их создает. Для таких пользователей этот метод не выдаст никаких результатов.
Вы можете использовать команду:
grep -RlE '(adduser|useradd).*systemd' /var/lib/dpkg/info --include='*inst' | sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'
заменить
на имя интересующего вас пользователя, например, systemd
Выполняет поиск скриптов preinst
и postinst
всех пакетов, известных dpkg
, для adduser
или useradd
и соответствующем пользователю, чтобы узнать, какой пакет отвечает за создание этого пользователя.Результат передается в sed, поэтому он возвращает только имя самого пакета вместо полного имени файла сценария.
grep -RlE
выполнять рекурсивный поиск и выводить только имена файлов, содержащих совпадения, используйте расширенные регулярные выражения '(adduser | useradd). * ' / var / lib / dpkg / info --include = '* inst'
поиск adduser
или ] useradd
и пользователя, которого вы хотите найти в той же строке (. *
будет сопоставлять любые символы между ними, перехватывая любые параметры команды) в каталоге, где хранится dpkg
скрипты в файлах, имена которых заканчиваются на inst
sed -r 's:. * / (. *) \. [- az] + inst: \ 1:'
удалить все до и включая последний /
в полном пути и .preinst
или .postinst
extension Спасибо @muru за предложение более аккуратного и быстрого способа поиска, чем используя найти [1110872 5] здесь :)
Здесь есть важное исключение из обычных adduser
-добавленных пользователей и групп: тех, которые по умолчанию поставляются с Ubuntu. Они предоставляются пакетом base-passwd
. Список пользователей и групп, добавленных этим пакетом, приведен (и описан) в / usr / share / doc / base-passwd / users-and-groups. {Html, txt.gz}
. Список следующий:
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
Пакет README ( / usr / share / doc / base-passwd / README
) также перечисляет некоторых пользователей с UID в диапазоне 60000-64999 и заявляет, что они созданы соответствующими пакетами.
Также см .:
base-passwd
для 14.04 - вы можете увидеть список пользователей и групп в файлах *. Master
.