衣服施行メッセージが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.preload
mameをコンパイルすることが最終的に生成されるのか、それとも関連がないのかわかりません。とにかくファイルが空の場合は削除してください。