我已经在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中执行我的上述命令而无需在任何地方进行任何更改,即通过具有默认设置?