プログラムが起動時に突然/etc/ld.so.preloadを読み取る原因は何ですか?

プログラムが起動時に突然/etc/ld.so.preloadを読み取る原因は何ですか?

衣服施行メッセージがTrisquel 7コンピュータのシステムログに表示され始めました。影響を受けるプログラムが読み取りモードでopenファイルを要求しましたが、/etc/ld.so.preload衣服ポリシーによって拒否されました。以下は、このメッセージの最初のインスタンスです。

May  8 21:25:54 box kernel: [928193.797140] type=1400 audit(1462739154.627:76): \
apparmor="DENIED" operation="open" profile="/usr/lib/NetworkManager/nm-dhcp-client.action" \
name="/etc/ld.so.preload" pid=13471 comm="nm-dhcp-client." requested_mask="r" \
denied_mask="r" fsuid=0 ouid=0

cupd や mysqld を含む他の多くの衣類制限プログラムは同じ要求を拒否しました。

衣類構成ファイルは変更されず、これらのメッセージは以前には表示されませんでした。したがって、これらの(およびおそらく他の制限されていない)プログラムが突然(空の)ファイルを読み取ろうとし始めたようです/etc/ld.so.preload

私の唯一の手がかりは、その日早く私が編集したということですまめい最初。最初のメッセージが表示される前に、シミュレートされたマシンを実行して無人のままにしておきました。コンソールに戻った直後にコンソールが応答しなくなり、メッセージが表示されてから約20分後にコンソールをリセットする必要がありました。

それでは、この2つが関連しているのでしょうか?これらのプログラムが現在プリロードライブラリを探している理由をどこから見つけるべきですか?

ベストアンサー1

すべてのプログラムは開こうとし、/etc/ld.so.preloadこの動作はGlibcに組み込まれています。ただし、存在する場合にのみ開こうとします(Glibcが最初に呼び出されますaccess)。

通常は/etc/ld.so.preload存在しないので、各プロセスは を呼び出し、access否定的な答えを得た後、続行します。 AppArmorでは何も実行されません。

ただし、ファイルが存在する場合、プロセス呼び出しはopenファイルを読み取ります。ファイルが空の場合、動的接続は影響を受けず、唯一の影響は非常にわずかなパフォーマンス低下です。特定のプログラムがファイルを開くときに実行されるAppArmorルールがある場合は、これらの警告が表示されます。

/etc/ld.so.preloadmameをコンパイルすることが最終的に生成されるのか、それとも関連がないのかわかりません。とにかくファイルが空の場合は削除してください。

おすすめ記事