Le message d'erreur apparaît lorsque vous essayez d'exécuter une commande à l'intérieur de votre appel bash avec sudo
et, bien que l'utilisateur ADMIN
sur le système de destination mac123
a le droit d'exécuter des commandes avec sudo
, l'option NOPASSWD
n'est pas spécifié pour cet utilisateur particulier (dans /etc/sudoers
).
Le système devrait inviter l'utilisateur et attendre que le mot de passe soit fourni par le clavier, mais comme aucun terminal n'est connecté, l'invite se bloquerait indéfiniment.
Pour éviter ce genre de situation, le système s'arrête avec le message d'erreur que vous avez obtenu.
Si vous preniez le temps de comprendre mon réponse d'hier :
à condition que l'ADMIN ait sans mot de passe autorisations sudo pour l'arrêt ou toutes les commandes sur la machine macxxx)
Vous ne rencontreriez pas ce problème.
Vous devez modifier votre script :
...
if [ $DAYS_UP -ge ${MAX_UPDAYS} ];then
echo Mac is going to shutdown
sudo shutdown -h now
else
...
Et modifiez le fichier sudoers sur mac123
de sorte qu'il contienne, par exemple (il doit correspondre à la commande dans le script) :
ADMIN ALL=(ALL) NOPASSWD: /sbin/shutdown -h now
Gardez à l'esprit que vous doit le faire en utilisant visudo
sinon vous risquez de casser complètement votre système.
Vous pouvez également utiliser SUDO_ASKPASS
et la diriger vers un script fournissant le mot de passe (la deuxième partie du message d'erreur). Je ne recommande pas cette méthode.