SSHからコンパイラオプションをエクスポートする

SSHからコンパイラオプションをエクスポートする

ssh / sshdがコンパイルされたときに使用された設定オプションを一覧表示するには?

SELinux設定の問題を解決しようとしていますが、SSHが--with-selinux

答え1

コンパイルオプションをリストする方法はないと思いますが、SELinuxサポートなどの機能は、実行可能ファイルがリンクされているライブラリから明らかにする必要があります。

$ ldd /usr/bin/ssh /usr/sbin/sshd | egrep '^/|selinux'
/usr/bin/ssh:
/usr/sbin/sshd:
        libselinux.so.1 => /lib/libselinux.so.1 (0x00007fbbfed5f000)

sshdSELinuxのサポートがあるようですが、ssh私のシステムではサポートされていません(なぜですか?)。

確認できるもう1つの問題(静的バイナリがある場合など)は、特定のSELinux機能を参照するバイナリがあるかどうかです。

strings /usr/sbin/sshd |grep -i selinux

答え2

ディストリビューションのパッケージングシステムを見て、どのオプションでコンパイルされたかを見つける必要があります。一部のプログラムはコンパイルフラグを出力できますが、sshdにそのようなオプションがあるかどうかはわかりません。

答え3

デフォルトの配布パッケージをインストールする場合

  • このディストリビューションはDebianに基づいています。debian/rules設定オプションのパッケージソースのファイル(デフォルトではMakefile)を見てください。

  • このディストリビューションはrpmベースです。ソースrpm仕様ファイルにある可能性があるコンパイルオプションを確認してください。

デフォルトのコンパイルオプションを持たないGentooなどのカスタムディストリビューションでは、これはより難しいでしょう。パッケージを作成した人と話し、人々が提案するものをldd見てみましょう。

(最初に行う必要があるように)分布を指定すると、人々はより具体的なガイドラインを提供できます。

関連情報