Schauen Sie sich Namespaces an, insbesondere für Mounts. Möglicherweise müssen Sie das Root-Dateisystem replizieren. Schauen Sie sich auch die FS-Überlagerungen und / oder Bindungs-Mounts an.
Eine weitere Option besteht darin, LD_PRELOAD
den open
Aufruf zu verwenden und zu entführen, sodass Sie die Konfigurationsdatei (oder andere Dateien) durch die gewünschten Pfade ersetzen können.
Das Userspace-Tool wird aufgerufen unshare
, also machen Sie so etwas
$ mkdir dir1 $ mkdir dir2 $ touch dir1/foo.conf $ touch dir2/foo.conf $ rm conf/foo.conf $ sudo unshare -m /bin/bash # mount --bind dir1 conf # su your_userid $ ls conf foo.conf
und ähnlich für dir2
etc. Skript nach Bedarf.