Как запустить команду sudo без пароля из java-программы?

Возможный дубликат:
Выполните команду linux shell с помощью «sudo», используя java, без ввода требуемого пароля

Я хочу выполнить команду sudo в linux через java-программу, но она запрашивает пароль. Но я хочу запустить prog без пароля, пожалуйста, скажите мне. Моя прога

public class JavaCommandProg { public static void main(String args[]) throws IOException, InterruptedException { String command="sudo cat /etc/sudoers"; Process myProcess =null; try { Runtime runtime=Runtime.getRuntime(); File file=new File("/home/users/admin/temp"); myProcess = runtime.exec(command,null,file); myProcess.waitFor(); InputStreamReader myIStreamReader = new InputStreamReader(myProcess.getInputStream()); BufferedReader br=new BufferedReader(myIStreamReader); String line; while((line=br.readLine())!=null){ System.out.println(line); } } catch (IOException anIOException) { System.out.println(anIOException); } } } Compling like: javac JavaCommandProg.java and : java JavaCommandProg 

Предоставьте пользователю права на использование sudo. Посмотрите здесь: http://www.ducea.com/2006/06/18/linux-tips-password-usage-in-sudo-passwd-nopasswd/

Например:

 /etc/sudoers admin ALL = NOPASSWD: ALL и /etc/sudoers admin ALL = NOPASSWD: ALL 

Если вы можете заставить его работать, это будет означать недостаток безопасности.

Сказал …

  1. Предоставьте права пользователя (станьте sudoer)
  2. Вызовите свою Java-программу с помощью sudo

    $ sudo java JavaCommandProg

Это заставит вас ввести пароль sudo при запуске jvm, а затем вы можете вызывать sudo из вашей программы Java.