Commandes Linux de Java

Est-il possible d’exécuter des commandes linux avec Java? J’essaie de créer un servlet Web pour permettre aux utilisateurs ftp de changer leurs mots de passe sans access à la connexion ssh. Je voudrais exécuter les commandes suivantes:

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

Découvrez ceci .

Cependant, faire ce dont vous parlez est bien en dehors des spécifications, et je ne le recommanderais pas. Pour que cela fonctionne, vous devez exécuter votre serveur d’application en tant qu’utilisateur root ou utiliser un autre mécanisme pour donner à l’utilisateur le serveur d’application en cours d’exécution pour lui permettre d’exécuter ces commandes privilégiées. Un petit bouchon quelque part et vous êtes “propriétaire”.

Utilisation:

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

où Commande est la chaîne de commande à exécuter.

Si vous appelez ces commandes à partir de Java, veillez à emballer plusieurs commandes dans un seul script shell. Cela facilitera l’invocation.

java.lang.Runtime

L’object Java RunTime a des méthodes exec pour exécuter des commandes dans un processus distinct