Měl jsem podobný problém při pokusu o to, aby můj kontejner dockeru umožnil skriptům jenkins používat příkazy sudo bez výzvy k zadání hesla.
To bylo vyřešeno pomocí Dockerfile:
RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Abyste to mohli udělat, měli byste se ujistit, že máte ve svém sudoers
následující řádek soubor:
%sudo ALL=(ALL:ALL) ALL
Výše uvedený řádek můžete upravit a změnit oprávnění stejně jako %sudo
byl uživatel. Tento řádek povolí všechny uživatele v sudo
skupinu použít sudo
.
Nyní povolit <username>
použít sudo
, stačí udělat usermod -a -G sudo <username>
jako root, který přidá <username>
na sudo
skupina.
Můžete použít cat
pro připojení textu na konec /etc/sudoers
. Nejprve si vytvořte záložní kopii svého /etc/sudoers
soubor. Potom:
cat >> /etc/sudoers
...type one or more lines here...
[control-D]
Rozhodně se ujistěte, že používáte dva znaků větší než (>>
) a ne pouze jeden, jinak přepíšete celý obsah svého souboru.