クライアントの/ publicにマウントされたネットワークに役立つソフトウェアをインストールして維持するために、すべてのユーザーにNFSエクスポートを用意しています。 NFSサーバーでは、このディレクトリはスティッキービットセット(/ tmpなど)を使用して誰でも書き込み可能です。
このサービスのユーザーの1人は、/ publicに実行可能ファイルへのシンボリックリンクを持っています。ワークステーションをUbuntu9.04から10.10にアップグレードしたため、シンボリックリンクを介してこのファイルを実行しようとすると、アクセス許可が拒否されます。スティッキービットを削除しても、許可が拒否されることはなくなります。
ログやdmesgに何も見つかりませんでした。これはアプリアーマー機能ですか、それともUbuntu 9.04と10.10の間に導入されたバグですか?
おそらく、Ubuntu 10.10以降に導入された シンボリックリンクセキュリティ強化 の効果が見られます。この機能は、/proc/sys/kernel/yama/protected_sticky_symlinks
を介してオフにすることができます。
Debianでは、この機能は/etc/sysctl.conf
に以下を追加することでオフにできます。
fs.protected_symlinks = 0
このテーマのさらに別のバリエーションはkernel.grsecurity.linking_restrictions
です。これは 多くのsysctlオプション の1つであり、 grsecurityパッチ によって追加されます。
現在(2012-04-19)シンボリックリンク保護機能はアップストリームカーネルにマージされていませんが、パッチのDebianバリエーションをマージするためのいくつかの 最近の努力 があります(他のいくつかの強化変更と一緒に) 。
私のLinuxMint Debianボックスは、Sergeyが彼の回答で説明したシンボリックリンクのセキュリティ強化と非常によく似た経験をしているようです。
Debianを実行している場合は、/etc/sysctl.conf
に以下を追加します。
fs.protected_symlinks = 0