次のカーネルメッセージはどういう意味ですか?

次のカーネルメッセージはどういう意味ですか?

/var/log/messagesに次の内容は何ですか?

  Feb 19 22:51:20  kernel: [  187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)

cron ジョブを実行しようとしたときに発生します。

ベストアンサー1

重要なファイル(/etc/passwd、/etc/shadowなど)へのシンボリックリンクを指定すると、特権プロセスがファイルを上書きするように欺くことができます。たとえば、ルートが/ tmpにファイルを生成するプログラムを実行していることがわかっている場合は、ファイル名(通常は/ tmp / fooXXX、fooはプログラム名、XXXはプロセスID)を推測してこれを実行できます。 /etc/shadow を指しています。 /tmpを埋める候補があります。後で root が /tmp にあるファイルを開いて /etc/shadow を切り捨てて上書きすると、突然誰もシステムにログインできなくなります。関連攻撃は、一時ファイルが存在するかどうかの確認とファイル生成の間の競合状態を悪用します。

mktemp() や mkstemp() を注意深く使用するなど、この問題を回避する方法がありますが、すべてのプログラマとユーザーがこのリスクを認識するわけではありません。そのため、最近Linuxカーネルパッチが提案されており、明らかにあなたが使用しているカーネルに適用されているようです。このパッチは、悪意のあるリンクを植える可能性のある一般的なシナリオの1つである固定ビットセットを持つグローバルに書き込み可能なディレクトリ(通常はUnixシステムで/ tmpが構成される方法)で次のシンボリックリンクを使用しないようにします。試行されたシステムコールはシンボリックリンクをたどりませんが、EACCESで失敗し、カーネルは表示されるメッセージを記録します。

Linuxカーネルメーリングリストに関するいくつかの関連議論があります。

おすすめ記事