GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit příkaz bash s právy sudo v Javě?

Myslím, že to můžete použít, ale trochu váhám, zda to zveřejnit. Takže řeknu jen:

Používejte to na vlastní nebezpečí, nedoporučujeme, nežalujte mě atd...

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

Upravte /etc/sudoers pomocí visudo a udělte svému uživateli právo NOPASSWD pro konkrétní skript:

uživatelské jméno VŠECHNY=(VŠECHNY) NOPASSWD:/opt/váš skript.sh


Linux
  1. Vykonat řadu příkazů jedním sudem?

  2. Provést příkaz Nohup se vstupem?

  3. Jak vytvořit špičku CPU pomocí příkazu bash

  1. Jak vymazat historii Bash na Linuxu

  2. Jak spustit příkaz, který zahrnuje přesměrování nebo potrubí pomocí Sudo?

  3. Jak vzdáleně spustit příkaz ssh a příkaz sudo bez hesla

  1. Jak namapovat jeden příkaz Vim k provádění příkazů Bash založených na OS?

  2. Jak funguje přidání Ppa pomocí příkazu Curl?

  3. Zkontrolujte, jak dlouho trvá spuštění Bash skriptu s Time Command