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 ?
requirettydiaktifkan secara default. Menurut dokumentasisudo sendiri , ini "dinonaktifkan secara default."