I had already asked this question in Stack Overflow, but I've been asked to post it here. So doing the same.
I ran this command using my java program-
sudo -u <username> -S pwd
I got this output-
command=sudo -u <username> -S pwd exitCode=1 sudo: sorry, you must have a tty to run sudo
I tried editing /etc/sudoers but it already contains
<username> ALL=(ALL) NOPASSWD: ALL
Then, I learned that this can be done by commenting out the following code in /etc/sudoers
# Defaults requiretty
Also, by default, when attempting to execute a command as another user using
sudo, we have to provide our own password. But this can be changed by making the following change in /etc/sudoers-
My Question is, is it possible to execute my above command in java without making any changes anywhere i.e. by having default settings?