Saya sudah menanyakan pertanyaan ini di Stack Overflow , tetapi saya telah diminta untuk mempostingnya di sini. Jadi melakukan hal yang sama.
Saya menjalankan perintah ini menggunakan program java saya
sudo -u <username> -S pwd
Saya mendapat hasil ini-
command=sudo -u <username> -S pwd
exitCode=1
sudo: sorry, you must have a tty to run sudo
Saya mencoba mengedit / etc / sudoers tetapi sudah berisi
<username> ALL=(ALL) NOPASSWD: ALL
Kemudian, saya mengetahui bahwa ini dapat dilakukan dengan mengomentari kode berikut di / etc / sudoers
# Defaults requiretty
Juga, secara default, ketika mencoba untuk mengeksekusi perintah sebagai pengguna lain menggunakan sudo
, kita harus memberikan kata sandi kita sendiri. Tapi ini bisa diubah dengan membuat perubahan berikut di / etc / sudoers-
Defaults targetpw
Pertanyaan saya adalah, apakah mungkin untuk menjalankan perintah saya di atas di java tanpa membuat perubahan di mana pun yaitu dengan memiliki pengaturan default ?
requiretty
diaktifkan secara default. Menurut dokumentasisudo
sendiri , ini "dinonaktifkan secara default."