Как проверить наличие подписи, связанной с пакетом deb?

nologin, false и true — это не оболочки, а просто способы предотвратить вход в систему. Остаются те, которые заканчиваются на sh. Таким образом, поиск в /bin, /usr/binи т. д. поможет найти большинство установленных.

Затем возникает проблема «что такое оболочка?» является ли python, purl, tcl и т. д. оболочкой? Ну, наверное, нет, но где линия разделения? Поскольку true, falseи nologinне являются интерпретаторами (, не принимают пользовательский ввод, не являются языками и т. д. ), то они определенно на нет --внешняя сторона линии.

Однако оболочка входа в систему не обязательно должна быть оболочкой, она даже не должна быть интерактивной.

Вы можете поискать в Интернете, используя вашу любимую поисковую систему, оболочки Unix.

4
08.03.2021, 13:39
2 ответа
dpkg-sig --list <deb-file.deb>

перечислит все элементы в файле, которые выглядят как подпись, без проверки файла. Это перечислит роль любой подписи в файле; напр.

$ dpkg-sig -l vuescan_9.7.50-1_amd64.deb
Processing vuescan_9.7.50-1_amd64.deb...
builder
$ dpkg-sig -l zstd_1.4.8+dfsg-2.1_i386.deb
Processing zstd_1.4.8+dfsg-2.1_i386.deb...
$

Первый файл имеет подпись с ролью «строитель»; второй файл не подписан.

Обратите внимание, что отдельные .debфайлы обычно не подписаны (, в отличие от RPM ). Подлинность пакетов Debian зависит от подлинности репозитория; см. Как гарантируется подлинность пакетов Debian?

6
18.03.2021, 22:26

Хотя для пакетов .debверно, что весь репозиторий должен быть подписан, т. е. файл Release.gpg, отдельные пакеты также могут быть подписаны

for i in *.deb; do
    ar -p "$i" _gpgbuilder 2>/dev/null | grep "^Signer";
done
0
18.03.2021, 22:26

Теги

Похожие вопросы