À l'aide d'un Simple Appel system() pour Exécuter Plusieurs Commandes en C

Dans la sécurité de l'information de laboratoire, je travaille, j'ai été chargé de l'exécution de plusieurs commandes avec un seul appel à "system()" (écrit en C, en cours d'exécution sur Fedora). Quelle est la syntaxe qui va me permettre d'exécuter plus de commande par le biais de system()? (L'idée étant que vous pouvez exécuter des commandes arbitraires via un programme en cours d'exécution sur un ordinateur distant, si le programme interagit avec le système d'exploitation par le biais de l'appel system ().)

I. e.:

char command[] = "????? \r\n"; 
system(command);
Sauf si vous êtes en cours d'exécution sur Windows, le retour chariot (\r) est susceptible de causer des problèmes plutôt que de donner un avantage. Vous devriez être en mesure de commandes séparées par des sauts de ligne ou des points-virgules comme d'autres l'ont suggéré.
En termes de sécurité, permettant à des programmes distants d'exécuter des commandes arbitraires est une lourde processus, en général. C'est moins grave si localement le programme s'exécute avec les privilèges de l'utilisateur à distance; si il fonctionne avec n'importe quelle sorte d'élévation de privilèges, c'est dire.

OriginalL'auteur Chance | 2008-10-29