Chiama sudo da Jenkins


8

Ho una macchina build che ha un utente abcche ha un accesso sudo limitato. Quando controllo il codice sorgente ed eseguo il mio script di build, funziona perfettamente. Lo script di compilazione contiene sudochiamate per le quali non dice "sudo: nessun tty presente e nessun programma askpass specificato". Ma quando ho fatto la stessa cosa con Jenkins su una macchina build aggiunta come slave, mostra "sudo: nessun tty presente e nessun programma askpass specificato".

Ho trovato una soluzione che dice di commentare Default requirettynel file /etc/sudoers. Ma non ho accesso a questo file.

Come posso superare questo problema?


Questo comando che stai tentando di eseguire è sudoautorizzato a eseguire senza immettere una password? Se devi inserire una password, sudo richiederà un tty.
Patrick,

Sì .. funziona senza inserire una password
Niraj

Risposte:


3

Ci sono due opzioni, commenta l' Defaults requirettyimpostazione da / etc / sudoers come hai menzionato o usa l' -targomento pseudo-tty allocation ( ) per ssh.

Prova quanto segue nel tuo script jenkins:

ssh -t 127.0.0.1 "sudo command"

Anche se dovrai avere sshle chiavi precondivise configurate su di te ed eseguirlo una volta manualmente per aggiungere una voce agli host conosciuti, in alternativa aggiungi l' -o StrictHostKeyChecking=noargomento sshper ignorarlo.


2

Non riesce, perché sudosta cercando di richiedere la password di root e non è stata allocata alcuna pseudo-tty.

Devi accedere come root o impostare le seguenti regole nel tuo /etc/sudoers (o:) sudo visudo:

# Members of the admin group may gain root privileges.
%admin  ALL=(ALL) NOPASSWD:ALL

Quindi assicurati che il tuo utente Jenkins appartenga al admingruppo (o wheel).

Idealmente (più sicuro) sarebbe limitare i privilegi di root solo a comandi specifici che possono essere specificati come %admin ALL=(ALL) NOPASSWD:/path/to/program


2
Richiede ancora un TTY.
Corse di leggerezza in orbita

0

Se si eseguono comandi tramite ssh, è necessario selezionare l'opzione "Esegui in pty". inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.