J'ai du mal à exécuter la commande suivante :
ssh someuser@lab-test "sudo /usr/local/scripts/user.sh add tstt7777 177700007 \"Test User 06\" "
Pour faire court, j'ai besoin d'exécuter le script user.sh script avec des privilèges ROOT en tant qu'utilisateur depuis une machine distante. Cependant, je ne veux pas que someuser puisse exécuter TOUTES les autres commandes, ouvrir un script ou avoir accès au système. L'utilisateur doit seulement exécuter ce script avec de multiples arguments dynamiques.
J'ai déjà géré l'échange de clés publiques, et j'ai ajouté des privilèges dans sudo :
#Sudo
someuser ALL = NOPASSWD: /usr/local/scripts/user.sh
Mais je reçois l'erreur suivante :
sudo: sorry, you must have a tty to run sudo
J'ai examiné la fonction "Command=" de ssh, mais je crois comprendre qu'elle n'exécute que la commande spécifiée et ne permet pas de passer des arguments comme indiqué dans mon invocation.
Y a-t-il quelque chose que je manque pour que ma méthode fonctionne via sudo ?
Existe-t-il une meilleure méthode que je n'ai pas envisagée dans SSH ou BASH ?