Java - Ejecutar un comando como: root

 
Vista:
sin imagen de perfil

Ejecutar un comando como: root

Publicado por pepitogrillo (6 intervenciones) el 05/02/2014 15:33:51
-Tengo el siguiente código para un botón que ejecuta un comando y que muestra la respuesta en un JTextArea:

1
2
3
4
5
6
7
8
9
10
Runtime comando=Runtime.getRuntime();
try {
Process process=comando.exec("airmon-ng start wlan0");
BufferedReader R=new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while((line=R.readLine())!=null) {
monitor1.append(line+"\n"); }
}catch(Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
}


-El problema esta en que me devuelve un error:

Run it as root.

-He probado de ponerle sudo delante (pero no se como hacer para poder introducir la contraseña),
-También he probado, de hacer otro botón que me convierta en superusuario (sudo su), pero me encuentro con el mismo problema, que no se donde introducir la contraseña. (Aparte, otro punto de vista de esta segunda opción, es que seria superusuario desde ese momento, o solo en ese instante "es decir, a partir de ay, ya todo se ejecutaría como superusuario, o no funcionaria para siempre, y tendría que ejecutar el comando sudo, en cada operación que lo requiriera?").
-Si saben como ayudarme, les estaría agradecido por un poco de información sobre el tema, y como poder solucionar mi problema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar un comando como: root

Publicado por Tom (1831 intervenciones) el 06/02/2014 11:44:02
No sé si habrá otras soluciones, pero desde luego la mejor es que todo tu ejecutable java lo ejecutes siendo root.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejecutar un comando como: root

Publicado por pepitogrillo (6 intervenciones) el 07/02/2014 11:47:57
Gracias, lo he probado ejecutándolo desde terminal siendo root i si funciona.
Pero, habría otra forma de hacerlo? Es decir, se podría ejecutar sin ser root y desde el mismo, hacerse root?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar