чи можна виконати команду sudo з паролем адміністратора?
приклад:
sudo apt-get update -password is 'root'
це полягає в тому, щоб поставити команду в додаток на запуску Ubuntu, який потребує кореневого доступу
чи можна виконати команду sudo з паролем адміністратора?
приклад:
sudo apt-get update -password is 'root'
це полягає в тому, щоб поставити команду в додаток на запуску Ubuntu, який потребує кореневого доступу
Відповіді:
Якщо ви хочете, щоб певний процес виконувався під час запуску як кореневий, то я б запропонував вам загорнути його в сценарій 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
Хоча в наведеному вище прикладі я вважаю, що директива Користувача зайва.
Як альтернатива, без реалізації деяких інструментів керування секретами (див. Hashicorps vault, ansible має подібну функцію і т.д.) ви досить багато застрягли з двома опціями:
Створіть /etc/sudoers.d/somefile із записом до всієї програми, яка буде запущена з підвищеними привілеями без пароля. Тобто.
ALL ALL=/usr/bin/theprogramtorun NOPASSWD
Або ви, якщо ви не піклуєтеся в найменшій мірі про безпеку системи, і ваш користувач є судовер, ви можете спробувати створити щось подібне:
echo "thisisaterribleidea" | sudo -S /usr/bin/command
Для передачі пароля в чистий текст над командним рядком
Найкраще:
echo "your password" | sudo --stdin command
Команда виконає команду спочатку, після чого заповнить пароль, який ви ввели в операторі echo.
cat
приватний прихований файл лише для читання. Іншим недоліком є те, що потрібно переглядати всі сценарії, коли ви змінюєте свій пароль.