GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar el comando bash con privilegios sudo en Java?

Creo que puedes usar esto, pero dudo un poco en publicarlo. Así que solo diré:

Utilice esto bajo su propio riesgo, no recomendado, no me demande, 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();
}

Edite /etc/sudoers con visudo y otorgue a su usuario un derecho NOPASSWD para un script específico:

nombre de usuario ALL=(ALL) NOPASSWD:/opt/yourscript.sh


Linux
  1. Cómo borrar el historial de Bash en Linux

  2. ¿Ejecutar una línea de comandos con un Sudo?

  3. ¿Cómo ejecutar un comando que implique redirigir o canalizar con Sudo?

  4. Compruebe cuánto tarda en ejecutarse un script de Bash con el comando de tiempo

  5. Cómo ejecutar remotamente el comando ssh un comando sudo sin contraseña

Cómo ejecutar un comando de Shell con Python

Cómo crear documentos con scripts Bash

Cómo instalar Fail2ban con Firewalld en AlmaLinux 8

Cómo ejecutar un alias con Sudo en Linux

¿Cómo ejecutar un comando en un script de Shell?

Cómo encontrar archivos con docenas de criterios con el comando Bash Find