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

Gibt es eine Möglichkeit, die UID des Benutzers auf einem Linux-Computer mit Java abzurufen?

Sie können id ausführen Befehl und Leseergebnis.

zum Beispiel:

$ id -u jigar

Ausgabe:

1000

Sie können den Befehl ausführen mit

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) {
}

Quelle


Dafür gibt es tatsächlich eine API. Es ist nicht erforderlich, einen Shell-Befehl aufzurufen oder JNI zu verwenden, sondern nur

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

Wenn Sie beeinflussen können, wie die Java VM gestartet wird, könnten Sie die uid übergeben als Benutzereigenschaft:

java -Duserid=$(id -u) CoolApp

In deiner CoolApp könntest du die ID einfach abrufen mit:

System.getProperty("userid");

Grüße,

Martin.


Linux
  1. Gibt es eine Möglichkeit, den aktuellen rpath unter Linux zu überprüfen?

  2. Erhalten Sie Mausdeltas mit Python! (unter Linux)

  3. Der beste Weg, um die Maschinen-ID unter Linux zu erhalten?

  4. Gibt es eine Möglichkeit, 64-Bit-time_t in 32-Bit-Programmen unter Linux zu erhalten?

  5. Holen Sie sich die Subnetzmaske in Linux mit Bash

Bringen Sie podman unter Windows mit Linux zum Laufen

Was ist UID in Linux, wie man es findet und ändert

Erstellen Sie eine virtuelle KVM-Maschine mit dem Qcow2-Image unter Linux

So erhalten Sie eine Liste der MySQL-Benutzerkonten unter Linux

Gibt es eine Möglichkeit, farbige Emojis in einem Terminalemulator unter Linux zu erhalten?

Gibt es eine Möglichkeit, die BIOS-Version von Linux abzurufen?