Ich habe in der Beschreibung Ihres Problems nichts gelesen, was Sie daran hindern würde, verschiedene Benutzerkonten für die Anwendungen anzulegen. Sie können dann triviale Dateiberechtigungen verwenden, um Interferenzen zu verhindern:
chown app1 /var/lib/myapps/app1
chmod 700 /var/lib/myapps/app1
sudo -u app1 /var/lib/myapps/app1/run.sh
bearbeiten
Wenn der Evaluator als root
ausgeführt wird dann kann er die Anwendungen einfach über sudo
starten .
Wenn der Evaluator nicht als root
ausgeführt wird dann können die Anwendungen, die es (normalerweise) aufruft, mit dem SUID-Bit (gesetzte Benutzer-ID) installiert werden, sodass der Prozess als der Benutzer ausgeführt wird, dem die Binärdatei gehört, und nicht als Benutzer des Evaluator-Prozesses.
Abhängig von Ihrer Distribution und Ihrem Kernel können Sie AppArmor oder SELinux verwenden, um Ihre Anwendungen einzuschließen. Insgesamt würde ich sagen, dass AppArmor bequemer einzurichten und zu warten ist. Das Ubuntu-Wiki enthält einige Artikel, die grundlegende Konzepte erklären.