Exécuter une commande en root
Bonjour @ tous,
je remets encore mon problème entre vos mains d'experts :)
J'explique : je fais une appli CGI :
* Au départ je récupère le login et mot de passe de la personne via un formulaire (on considère que c'est root (login root, mot de pass : admin)).
J'ai donc 2 variables dans mon script cgi qui se nomment loggin et pass contenant tous 2 après traitement, le login et le mot de passe.
* Je souhaite exécuter une commande nécessitant d'être root : "useradd" mais ceci à partir de mon script cgi. Sachant que la session sous laquelle tourne le script est une session lambda, pas superutilisateur ni root.
J'ai essayé comme ceci :
Code:
system("sudo urseradd (blabla) < ./pass.txt");
Mais sans succès :( (le mot de passe "admin" est bien dans le fichier ./pass.txt). J'ai même essayé cette commande dans une konsole en étant pas connecté en root, et il me demande quand même le mot de passe . . . je dois le taper à la main quoi :(
Comment faire pour exécuter une commande root dans un script C, en ayant le mot de passe root soit dans un fichier text soit dans une variable ?
Merci encore,
j'vous aime toujours :king:
Titmael
Pas de mot de passe pour sudo avec /etc/sudoers
Avec un paramétrage de sudoers tu peux faire en sorte qu'un utilisateur n'aie pas besoin de saisir un mot de passe pour exécuter une ou plusieurs commandes.
Pour maintenir correctement un fichier /etc/sudoers : utiliser la commande visudo