GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hay alguna forma de obtener el UID del usuario en una máquina Linux usando Java?

puedes ejecutar id Comando y lee el resultado.

por ejemplo:

$ id -u jigar

salida:

1000

puede ejecutar el comando por

try {
    String userName = System.getProperty("user.name");
    String command = "id -u "+userName;
    Process child = Runtime.getRuntime().exec(command);

    // Get the input stream and read from it
    InputStream in = child.getInputStream();
    int c;
    while ((c = in.read()) != -1) {
        process((char)c);
    }
    in.close();
} catch (IOException e) {
}

fuente


En realidad, hay una API para esto. No hay necesidad de llamar a un comando de shell o usar JNI, solo

def uid = new com.sun.security.auth.module.UnixSystem().getUid()

Si puede influir en cómo se inicia la VM de Java, podría entregar el uid como propiedad de usuario:

java -Duserid=$(id -u) CoolApp

En tu CoolApp, puedes simplemente buscar la ID con:

System.getProperty("userid");

Saludos,

Martín.


Linux
  1. ¿Hay alguna manera de inspeccionar el rpath actual en Linux?

  2. ¿Hay alguna forma de obtener time_t de 64 bits en programas de 32 bits en Linux?

  3. Obtenga direcciones IPv6 en Linux usando ioctl

  4. Obtener máscara de subred en Linux usando bash

  5. ¿Hay una distribución estable de Linux que use btrfs?

Ponga en funcionamiento podman en Windows usando Linux

¿Qué es UID en Linux, cómo encontrarlo y cambiarlo?

Cree una máquina virtual KVM usando la imagen Qcow2 en Linux

Cómo obtener la lista de cuentas de usuario de MySQL en Linux

¿Hay alguna manera de obtener emoji de colores en cualquier emulador de terminal en Linux?

¿Hay alguna manera de obtener proporciones de aciertos/fallos de caché para dispositivos de bloque en Linux?