Meine Frage ist ähnlich zu diesem question, aber ich habe meine Antwort nicht erhalten.Ändern der Berechtigung eines Programms in Linux
Ich versuche, einen Richter zu entwerfen.
Die Benutzer des Online-Bewertungssystems reichen ihren Quellcode ein, dann das Serverprogramm kompiliert und führt es aus. So muss das Serverprogramm den Server sicher halten.
Und es gibt eine Menge Dinge, die ein Benutzer verwenden kann, um Änderungen am Server vorzunehmen.
Wie kann ich die Berechtigung eines Programms ändern? Der kompilierte Code kann nichts anderes tun als etwas zu drucken!
P.S: Suche nach verdächtigen Wörtern ist keine gute Idee. Zum Beispiel kann der Benutzer den folgenden Befehl anstelle des Wortes verwenden system
in C++:
#define glue(a,b) a ## b
glue(sys,tem) ("rm *"); //DO NOT RUN THIS CODE
So Benutzer tatsächlich den folgenden Code verwendet, ohne das Wort mit der system
:
system ("rm *"); //DO NOT RUN THIS CODE
führen Sie sie auf VM-es oder Container, die im laufenden Betrieb erstellt wurden. –