GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il comando bash con privilegi sudo in Java?

Penso che tu possa usarlo, ma sono un po 'titubante a pubblicarlo. Quindi dirò solo:

Usalo a tuo rischio e pericolo, non consigliato, non farmi causa, ecc...

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();
}

Modifica /etc/sudoers con visudo e concedi al tuo utente un diritto NOPASSWD per uno script specifico:

username ALL=(ALL) NOPASSWD:/opt/yourscript.sh


Linux
  1. Eseguire una linea di comandi con un sudo?

  2. Eseguire il comando Nohup con l'input?

  3. Come mappare un comando Vim per eseguire comandi Bash basati su Os?

  4. Controlla quanto tempo impiega uno script Bash per essere eseguito con il comando Time

  5. Come eseguire in remoto il comando ssh un comando sudo senza password

Come eseguire un comando Shell con Python

Come creare documenti con gli script Bash

Come installare Fail2ban con Firewalld su AlmaLinux 8

Come eseguire un alias con Sudo in Linux

Come eseguire un comando in uno script della shell?

Come trovare file con dozzine di criteri con il comando Trova Bash