이미 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에서 위의 명령을 실행할 수 있습니까?