Recentemente ho iniziato a esaminare il fabric per la distribuzione remota. Ho bisogno di passare a un utente diff (da quello che accedo come) e non sono in grado di capirlo. E 'anche possibile, se sì, come? Il mio attuale utente non ha permessi sudo
.passare a un altro utente utilizzando il fabric
Ho provato a cambiare seguenti variabili d'ambiente
env.sudo_prefix = "su newUser -c "
env.sudo_prompt = "Password:"
Ma tessuto non aspettare per l'immissione della password per 'newUser' e non riesce.
out: Password:
[[email protected]] out: su: incorrect password
Fatal error: sudo() received nonzero return code 1 while executing!
Requested: touch x
Executed: su newUser -c -u "root" /bin/bash -l -c "cd /home/oldUser/upgrade && touch x"
Aborting.
Disconnecting from [email protected] done.
Aggiornamento:
Come suggerito J.F. Sebastian, su newUser -c
opere, ma richiede una password per ogni comando per ogni server, che tipo di sconfigge lo scopo di automazione. C'è un modo in tessuto per passare lo stesso valore sulla base di prompt (in questo caso, la sua sempre Password:
)
hai provato 'sudo ('su newuser')' – jfs
sì, l'ho fatto. Il problema è che oldUser non è un sudoer, quindi qualsiasi comando sudo non riesce con [out: oldUser non è nel file sudoers. Questo incidente verrà segnalato.] –
potresti ssh come nuovo utente? – jfs