прив'язка кореневого переходу до команди sudo


1

чи можна виконати команду sudo з паролем адміністратора?

приклад:

sudo apt-get update -password is 'root' 

це полягає в тому, щоб поставити команду в додаток на запуску Ubuntu, який потребує кореневого доступу


1
Ви можете змінити файл sudoers, щоб вимкнути запит пароля для користувача, який запускає програму.
cascer1

@ cascer1 не важливо мати пароль
Suhayb

3
Увімкнення пароля, але написане в чистому тексті - це те, що ви хочете? Можливо, ви не зрозуміли, що @ cascer1 говорить про те, як вибірково дозволити виконання без пароля для конкретної пари (user / command), що, здається, є непоганою ідеєю. Користувачеві все одно доведеться ввести пароль для будь-яких інших команд sudo. Ви можете подивитися на документацію файлу sudoer.
A. Loiseau

Відповіді:


1

Якщо ви хочете, щоб певний процес виконувався під час запуску як кореневий, то я б запропонував вам загорнути його в сценарій 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

Для передачі пароля в чистий текст над командним рядком


-1

Найкраще:

echo "your password" | sudo --stdin command 

Команда виконає команду спочатку, після чого заповнить пароль, який ви ввели в операторі echo.


1
Це рішення має два негативні наслідки. Один з них полягає в тому, що пароль буде в історії оболонки, а другий, що ви не можете ввести нічого, поки команда виконує.
pbies

@pbies добре перша реальна загроза, я не піклуюся про другий, оскільки я намагаюся запустити скрипт bash на запуску системи
Suhayb

Ви можете зробити це у файлі /etc/rc.local.
pbies

1
Щоб знизити трохи перший факт, який ви захочете cat приватний прихований файл лише для читання. Іншим недоліком є ​​те, що потрібно переглядати всі сценарії, коли ви змінюєте свій пароль.
A. Loiseau
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.