Je souhaite exécuter Sudo avec mon mot de passe en tant que paramètre afin de pouvoir l'utiliser pour un script. j'ai essayé
Sudo -S mypassword execute_command
mais sans aucun succès. Aucune suggestion?
Le commutateur -S permet à Sudo de lire le mot de passe de STDIN. Cela signifie que vous pouvez faire
echo mypassword | Sudo -S command
passer le mot de passe à Sudo
Cependant, les suggestions d'autres personnes qui n'impliquent pas la transmission du mot de passe dans le cadre d'une commande, telle que la vérification du caractère root de l'utilisateur, sont probablement de bien meilleures idées pour des raisons de sécurité.
Vous pouvez définir le bit s
pour votre script afin qu'il n'ait pas besoin de Sudo
et qu'il s'exécute en tant que root (et que vous n'ayez pas besoin d'écrire votre mot de passe root dans le script):
Sudo chmod +s myscript
echo -e "YOURPASSWORD\n" | Sudo -S yourcommand
Une option consiste à utiliser l'indicateur -A pour Sudo. Cela lance un programme pour demander le mot de passe. Plutôt que de demander, vous pourriez avoir un script qui crache simplement le mot de passe pour que le programme puisse continuer.