GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie führe ich einen Bash-Befehl mit sudo-Berechtigungen in Java aus?

Ich denke, Sie können dies verwenden, aber ich zögere ein bisschen, es zu posten. Also sage ich einfach:

Verwenden Sie dies auf eigene Gefahr, nicht empfohlen, verklagen Sie mich nicht usw....

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

Bearbeiten Sie /etc/sudoers mit visudo und gewähren Sie Ihrem Benutzer ein NOPASSWD-Recht für ein bestimmtes Skript:

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


Linux
  1. So löschen Sie den Bash-Verlauf unter Linux

  2. Wie führe ich einen Befehl aus, der Umleitung oder Piping mit Sudo beinhaltet?

  3. Nohup-Befehl mit Eingabe ausführen?

  4. Wie funktioniert das Hinzufügen eines Ppa mit einem Curl-Befehl?

  5. Wie führt man ein Bash-Skript aus?

So führen Sie einen Shell-Befehl mit Python aus

So erstellen Sie Dokumente mit Bash-Skripten

So installieren Sie Fail2ban mit Firewalld auf AlmaLinux 8

So führen Sie einen Alias ​​mit Sudo in Linux aus

Wie führe ich einen Befehl in einem Shell-Skript aus?

So finden Sie Dateien mit Dutzenden von Kriterien mit dem Bash-Suchbefehl