Как я могу перечислить параметры конфигурации, с которыми был скомпилирован ssh/sshd?
Я пытаюсь диагностировать проблему конфигурации SELinux и хотеть удостовериться, что SSH был скомпилирован с --with-selinux
.
Я не думаю, что существует способ перечислить параметры компиляции, но что-то как поддержка SELinux должно быть очевидно из библиотек, против которых связан исполняемый файл:
$ ldd /usr/bin/ssh /usr/sbin/sshd | egrep '^/|selinux'
/usr/bin/ssh:
/usr/sbin/sshd:
libselinux.so.1 => /lib/libselinux.so.1 (0x00007fbbfed5f000)
Похож sshd
имеет поддержку SELinux, но ssh
не (почему был бы он?) в моей системе.
Другая вещь, которую Вы могли проверить (например, в случае, если у Вас был статический двоичный файл) состоит в том, если там двоичные ссылки некоторый SELinux функционируют.
strings /usr/sbin/sshd |grep -i selinux
Я думаю, что Вы, возможно, должны посмотреть на упаковочную систему для своего дистрибутива и найти опции, с которыми это компилирует. Некоторые программы могут произвести свои флаги компиляции, но я не знаю о такой опции для sshd.
Если Вы устанавливаете пакеты распределения по умолчанию, и
распределением является базирующийся Debian, посмотрите на debian/rules
файл (в основном Make-файл) в источнике пакета для параметров конфигурации.
распределение является базирующимся об/мин, посмотрите на параметры компиляции, вероятно, в исходном файле спецификации об/мин.
Для пользовательских дистрибутивов как хинду, где нет никаких опций компиляций по умолчанию, это более трудно, и я говорил бы с человеком, который создал пакет, и также посмотрите на ldd
поскольку люди предложили.
Если Вы указываете свое распределение, поскольку необходимо было сделать первоначально, люди могут, по-видимому, дать Вам более определенные подсказки.