1

Можно ли выполнить команду sudo с паролем администратора?

пример :

sudo apt-get update -password is 'root' 

это поместить команду в приложение при запуске Ubuntu, которому нужен root-доступ

2 ответа2

1

Если вы хотите, чтобы какой-то конкретный процесс запускался при запуске от имени пользователя root, я бы посоветовал вам обернуть его в скрипт systemd/init.d. Для systemd что-то вроде этого, вероятно, будет работать:

[Unit]
Description=Some command

[Service]
User=root
Type=oneshot
ExecStart=/usr/bin/whateverprogram and associated arguments

[Install]
WantedBy=multi-user.target

Хотя в приведенном выше примере я считаю, что директива User является излишней.

В качестве альтернативы, без реализации какого-либо инструмента управления секретами (см. Hashicorps vault, ansible имеет аналогичную функцию и т.д.), Вы практически застряли с двумя вариантами:

Создайте /etc/sudoers.d/somefile с записью для всех программ, которые будут запускаться с повышенными привилегиями без пароля. То есть.

ALL ALL=/usr/bin/theprogramtorun NOPASSWD

Или вы, если вам совсем не безразлична безопасность системы и ваш пользователь - sudoer, вы можете попробовать написать что-то вроде:

echo "thisisaterribleidea" | sudo -S /usr/bin/command

Чтобы передать пароль в виде открытого текста через командную строку

-1

Ну, лучшая практика это:

echo "your password" | sudo --stdin command 

Сначала будет выполнена команда, а затем введен пароль, введенный вами в операторе echo.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .