Salut à tous.
J'aimerais faire un programme qui tournera sous linux.
Le programme consciste à envoyer une série d'action que moi en tant normale je le fais au clavier dans une console ou emulateur terminale.
Par exemple, se connecter en root, puis lister le répértoire /root:
1- su
2- ls /root
Donc, si je le fais sur une console, je fais ceci au clavier:
su
(entre le mot de passe root qui est demandé)
(connection autorisé)
ls /root
(il me liste le contenu root)
Comment puis-je faire cela via un programme écrit en C.
PS: je veux pas utilisé, su -c 'ls /root' (qui marchera pas pour mes autres besoins), mais c'est de pouvoir envoyer plusieurs commande d'affiller.
Par exemple si je fais ceci: system("su");system("ls /root");
Il va me demander mot de passe root, je vais lui donné (au clavier) une fois bien logué, la deuxième commande que je veux exécuter (ls /root) ne se lance pas, car on est coincé dans la première commande, hors je veux que la deuxième commande puisse s'exécuter à la suite du premier (comme on peut le faire physiquement au clavier) et donc si j'arrêtes la première commande (via exit) la deuxième commande pourra enfin s'exécuter mais n'étant plus logué en root via la première commande j'ai pas droit de lister /root car accès interdit aux utilisateurs normaux. Donc le but c'est d'envoyer une suite de commande qui s'exécute l'un sur l'autre.
Je présume qu'il y a une simple méthode mais connaissant pas les bons termes j'ai du écrire un pavé![]()
Partager