2008-09-24 18 views
6

¿Es posible ejecutar comandos de Linux con java? Intento crear un servlet web para permitir a los usuarios de ftp cambiar sus contraseñas sin el acceso de inicio de sesión ssh. Me gustaría ejecutar los siguientes comandos:Comandos de Linux de Java

# adduser -s /sbin/nologin clientA -d /home/mainclient/clientA 
# passwd clientA 
# cd /home/mainclient; chgrp -R mainclient clientA 
# cd /home/mainclient/clientA; chmod 770 . 

Respuesta

9

Consulte this.

Sin embargo, hacer lo que está diciendo está fuera de especificaciones, y no lo recomendaría. Para que funcione, va a ejecutar su servidor de aplicaciones como root o usar algún otro mecanismo para darle al usuario que el servidor de aplicaciones se ejecuta como permiso para ejecutar estos comandos privilegiados. Un pequeño error en algún lugar y eres "propiedad".

+0

use sudo para evitar ejecutar como root. –

5

Uso:

Runtime.getRuntim().exec("Command"); 

donde comando es la cadena de comandos que desea ejecutar.

0

La java RunTime objeto tiene métodos exec para ejecutar comandos en un proceso separado

1

Si invoca los comandos de Java, asegúrese de empacar múltiples comandos a un solo Shell- guión. Esto hará que la invocación sea mucho más fácil.

Cuestiones relacionadas