2012-09-26 3 views
3

SUDO_ASKPASS 환경 변수 설정은 무엇을 의미합니까? 어떻게 할 수 있니? 나는 그것을 어디에서 선언해야합니까?SUDO_ASKPASS 환경 변수를 설정하는 방법은 무엇입니까?

몇 분 후에 내 컴퓨터를 종료하고 java로이 스크립트를 시작하기 위해 쉘 스크립트를 사용하려고합니다.

+0

가능한 복제본 [Java에서 환경 변수를 설정하는 방법] (http://stackoverflow.com/questions/318239/how-do-i-set-environment-variables-from-java) –

답변

5

그래서이 경우 $SUDO_ASKPASS을 사용할 지 확신하지 못합니다. 기본적으로 $SUDO_ASKPASS의 값은 호출 될 때 암호를 표준 출력으로 내 보내는 실행 파일입니다. 암호가 '갑'입니다 경우에 따라서, 당신은 쉘 스크립트를 작성할 수 있습니다

#!/bin/bash 
echo 'foo' 

~/bin/pw.sh에 넣습니다. 그런 다음 환경 변수를 설정하고 다음과 같이 명령을 실행합니다.

SUDO_ASKPASS=${HOME}/bin/pw.sh sudo shutdown -h now 

이 예에서는 사용자가 Darwin이라고 가정합니다. shutdown은 다른 운영 체제에서 다르게 작동합니다.

/etc/sudoersNOPASSWD 인수를 사용하는 것이 더 지능적인 방법입니다. 다음과 같은 행을 추가합니다.

jane ALL=NOPASSWD: /sbin/shutdown 

다시 말하면 Mac을 사용한다고 가정합니다. 당신 이름은 제인이에요. 그것을 변경하십시오. 이렇게하면 sudo는 /sbin/shutdown 명령을 실행할 때 암호를 묻지 않습니다. edit sudoers (올바르게) 명령은 visudo입니다.

관련 문제