GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter la commande bash avec les privilèges sudo en Java ?

Je pense que vous pouvez l'utiliser, mais j'hésite un peu à le poster. Alors je dirai simplement :

Utilisez ceci à vos risques et périls, déconseillé, ne me poursuivez pas en justice, etc...

public static void main(String[] args) throws IOException {

    String[] cmd = {"/bin/bash","-c","echo password| sudo -S ls"};
    Process pb = Runtime.getRuntime().exec(cmd);

    String line;
    BufferedReader input = new BufferedReader(new InputStreamReader(pb.getInputStream()));
    while ((line = input.readLine()) != null) {
        System.out.println(line);
    }
    input.close();
}

Modifiez /etc/sudoers avec visudo et accordez à votre utilisateur un droit NOPASSWD pour un script spécifique :

nom d'utilisateur ALL=(ALL) NOPASSWD :/opt/votrescript.sh


Linux
  1. Exécuter une ligne de commandes avec One Sudo ?

  2. Comment exécuter une commande qui implique une redirection ou une canalisation avec Sudo ?

  3. Comment mapper une commande Vim pour exécuter des commandes Bash basées sur OS ?

  4. Comment créer un pic CPU avec une commande bash

  5. Comment exécuter un script bash ?

Comment exécuter une commande Shell avec Python

Comment créer des documents avec des scripts Bash

Comment installer Fail2ban avec Firewalld sur AlmaLinux 8

Comment exécuter un alias avec Sudo sous Linux

Comment exécuter une commande dans un script shell ?

Comment rechercher des fichiers avec des dizaines de critères avec la commande Bash Find