script à su avec mot de passe dans le script sans racine


8

J'ai scénarisé un processus qui implique la mise à jour de liens symboliques sur des fichiers situés sur 3 machines différentes. Sur ces machines, il y a 4 utilisateurs chacun, qui ont chacun besoin d'avoir ces liens mis à jour.

En utilisant su, existe-t-il un moyen de passer l'argument du mot de passe à la commande sur une seule ligne, sans appeler sudo car les utilisateurs n'auront pas de droits d'administrateur?

Ma seule solution alternative à ce stade est de faire le tour, mais j'aimerais pouvoir le faire sans codage en dur dans un tas d'hôtes / IPS.

Réponses:


3

Vous pouvez diriger le mot de passe vers su comme ceci:

echo pa$$w0rd | su -c whoami user_1

1
Obtenir l'erreur "Standard in must a tty"
Triplell89

Utilisez-vous ssh? Essayez l'option -t pour ssh.
gogators

@KevinVW, je ne vois pas l'option -t dans su.
maestromani

Le -t est pour ssh, pas su. Si force un pseudo-tty pour que su puisse lire le mot de passe depuis stdin.
gogators
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.