J'ai un script shell sur ma machine locale et je dois exécuter ce script shell sur des serveurs distants. J'ai fait quelques étapes comme suit:Comment exécuter un script shell local sur des serveurs distants?
- Clé SSH appariée de la machine locale et du serveur distant;
ssh [email protected] 'bash - s' < user_add.sh
;
Je reçois une erreur:
standard in must be a tty
: command not found
bash: line 4: useradd: command not found
Usage: /etc/init.d/vsftpd {start|stop|restart|condrestart|status}
Only root can do that.
chmod: cannot access `/102/prsuser\r': Permission denied
mkdir: cannot create directory `/102/prov/\r': Permission denied
bash: line 8: useradd: command not found
Only root can do that.
chmod: cannot access `/102/prov/PROV_LIS_RESP_DIR\r': Permission denied
chown: cannot access `/102/prov/\r': Permission denied
bash: line 12: /etc/vsftpd/chroot_list: Permission denied
login root ne peut se faire normalement, nous pouvons vous connecter en tant que root en passant de compte utilisateur normal par su - command
.
Donc, voici mon doute, comment exécuter le script en tant que root sur le serveur distant et quel script utilisé pour changer le compte root au point de départ dans mon script (user_add.sh)?
Voulez-vous interagir avec 'user_add.sh' pendant son exécution? Parce que cela ne fonctionnera pas car 'stdin' a déjà été redirigé. – Thor