Недавно я застрял в программе Java. Мое требование: я должен перезапустить службу snmp через java-код на моей машине Ubuntu. Обычно мы можем сделать то же самое сЗапустите процесс с Java
Runtime.getRuntime().exec("service snmpd restart");
Над кодом работает нормально, если я вхожу в систему с пользователем ROOT. Но теперь требовалось, чтобы клиентская машина не имела разрешения root. В этом случае для перезапуска snmp необходимо выполнить команду с помощью sudo «sudo service snmpd restart». Эта команда запросит пароль для машины, и после ввода пароля система перезапустит службу.
Теперь, когда я пытаюсь выполнить код java с приведенным ниже кодом, это не перезапуск службы. ecasue у него нет возможности получить пароль. Runtime.getRuntime(). Exec ("sudo service snmpd restart");
Итак, пожалуйста, помогите мне узнать способ перезапуска службы с помощью java, когда пользователь не является пользователем root и необходимо запустить службу с помощью команды sudo.
Как кто-то заметил - «Вы можете настроить Sudo, чтобы конкретная команда для запуска без пароля Это не требует, чтобы знать пароль.. " Сделайте это, не ставьте пароли в java ... – hovanessyan
Можете ли вы помочь мне настроить конфигурацию для sudo без пароля? –