J'ai eu un problème similaire en essayant d'obtenir que mon conteneur docker autorise les scripts jenkins à utiliser les commandes sudo sans demander de mot de passe.
Cela a été résolu via le Dockerfile :
RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Pour pouvoir le faire, vous devez vous assurer d'avoir la ligne suivante dans votre sudoers fichier :
%sudo ALL=(ALL:ALL) ALL
Vous pouvez personnaliser la ligne ci-dessus pour modifier les autorisations comme si %sudo était un utilisateur. Cette ligne autorisera tous les utilisateurs du sudo groupe à utiliser sudo .
Maintenant pour autoriser <username> utiliser sudo , vous pouvez simplement faire usermod -a -G sudo <username> en tant que root, ce qui ajoute <username> au sudo groupe.
Vous pouvez utiliser cat pour ajouter du texte à la fin de /etc/sudoers . Tout d'abord, faites une copie de sauvegarde de votre /etc/sudoers dossier. Ensuite :
cat >> /etc/sudoers
...type one or more lines here...
[control-D]
Assurez-vous absolument d'en utiliser deux caractères supérieurs à (>> ) et pas un seul, sinon vous écraserez tout le contenu de votre fichier.