RaspbianでのApache2マウントネームスペースの奇妙な動作

RaspbianでのApache2マウントネームスペースの奇妙な動作

現在、Raspbian Stretch(Linux raspberrypi 4.9.41-v7+#1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU / Linux)で実行されているApache2(2.4.25-3+deb9u2)に問題がある理由を理解しよう努力中です。ルートマウントポイントは bash などとは異なって表示されます。

cat /proc/{PID of Apache2}/mountinfo次の出力を提供します。

129 127 179:2 / / ro,noatime shared:80 master:1 - ext4 /dev/root ro,data=ordered

cat /proc/self/mountinfoBashで実行すると、次のような出力が得られます。

15 0 179:2 / / ro,noatime shared:1 - ext4 /dev/root ro,data=ordered

私が理解した説明によるとman 7 mount_namespaceshttps://lwn.net/Articles/689856/https://lwn.net/Articles/690679/出力は、man 5 procApacheがピアグループ1のスレーブであることを示します。独自に ID 80 の共有ピアグループを作成します。

私が理解していないのはなぜこれが起こるのかです。私はsystemdがこれを制御できると思い、/etc/systemd/system/apache2.service次の内容でファイルを作成しました。

.include /lib/systemd/system/apache2.service

[Service]
MountFlags=shared

しかし、明らかにこれは役に立ちません。 MountFlags行を削除しても違いはありません。

したがって、これが起こる理由を理解するだけでなく、Apacheがルートインストールピアグループの奴隷になるのを防ぐ方法があるかどうかを知りたいです。

また、bashで書き込み可能にルートディレクトリを再マウントすると、mount -o remount,rw /これはApache2マウントネームスペースに伝播されません。mountinfo上から始まる例:

# mount -o remount,rw /
# cat /proc/self/mountinfo
15 0 179:2 / / rw,noatime shared:1 - ext4 /dev/root rw,data=ordered
# cat /proc/{PID of Apache2}/mountinfo
129 127 179:2 / / ro,noatime shared:80 master:1 - ext4 /dev/root rw,data=ordered

これはApacheセキュリティ機能の一部ですか?

アップデート1:ルートがrwとしてマウントされている間にApache2サービスを(再び)起動すると、マウントは再びApache2マウントネームスペースに伝播されます。ルートがroの場合にのみApache2サービスを起動すると機能しませんか? !

答え1

PrivateTmp=trueapache2.serviceから設定を削除します。

https://www.freedesktop.org/software/systemd/man/systemd.exec.html:

trueの場合は、実行プロセスの新しいファイルシステム名前空間を設定し、その中にプライベート/ tmpおよび/ var / tmpディレクトリをマウントします。このディレクトリは、名前空間外のプロセスと共有されません。

関連情報