サービス/ウェブサーバー内からすべてのプロセスのファイルシステムをマウントする

サービス/ウェブサーバー内からすべてのプロセスのファイルシステムをマウントする

ファイルを復号化し、そのファイルに含まれるファイルシステムをマウントし、コンソールにアクセスせずに systemd サービスを開始できるローカル Web サイトを作成しようとしています。開始されたサービスは、マウントされたファイルシステム内のファイルを使用します。Web サーバーは現在、cgi 経由で Python コードを実行し、そのファイルシステムを復号化してマウントするシンプルな Web サイトを提供しています。私は、www-data ユーザーが Python で呼び出す特定のコマンドを実行できるように、sudoers ファイルに例外を設定しました。

この Web サイト ( を呼び出す) を使用してファイルを復号化すると、cryptsetup luksOpen復号化されたデバイスが期待どおりに表示されます。

> file /dev/mapper/service-volume
/dev/mapper/service-volume: symbolic link to ../dm-0

しかし、私の Python コードがこれをマウントしようとすると、service-volumeApache ワーカー プロセス内でのみマウントされ、シェルや他のプロセスでは使用できません (XXX は Apache ワーカー プロセスの PID です)。

> mountpoint /mnt/service-folder
/mnt/service-folder is not a mountpoint
> cat /proc/XXX/mounts
...
/dev/mapper/service-volume /mnt/service-folder ext4 rw,relatime 0 0

マウント操作はsudo /bin/mount /dev/mapper/service-volume /mnt/service-folderPython の subprocess.run() によって実行されます。

そこで私の質問は、そこで何が起こっているのか、これは何らかの名前空間/cgroup の魔法なのでしょうか? また、このフォルダーを Apache 自体以外の別のサービス/プロセス用にマウントするにはどうすればよいでしょうか?


追加情報:

存在service-folderする(マウントされたファイルシステムなし):

> ls -la /mnt/service-folder
total 8
drwxr-xr-x 2 root root 4096 Jan 23 21:25 .
drwxr-xr-x 4 root root 4096 Jan 23 21:25 ..

関連情報