Я вже задавав це питання в Stack Overflow , але мене попросили опублікувати тут. Тож робимо те саме.
Я запустив цю команду за допомогою своєї програми java-
sudo -u <username> -S pwd
Я отримав цей вихід-
command=sudo -u <username> -S pwd
exitCode=1
sudo: sorry, you must have a tty to run sudo
Я спробував редагувати / etc / sudoers, але він вже містить
<username> ALL=(ALL) NOPASSWD: ALL
Потім я дізнався, що це можна зробити, коментуючи наступний код у / etc / sudoers
# Defaults requiretty
Також за замовчуванням, намагаючись виконати команду як інший користувач, який використовує sudo
, ми маємо вказати свій власний пароль. Але це можна змінити, внісши наступну зміну в / etc / sudoers-
Defaults targetpw
Моє запитання: чи можна виконати мою вищевказану команду в java, не вносячи будь-яких змін, тобто встановивши налаштування за замовчуванням ?
requiretty
він включений за замовчуванням. Згідно sudo
з власною документацією, це "за замовчуванням".