GNU/Linux >> Znalost Linux >  >> Linux

Existuje způsob, jak získat UID uživatele na počítači se systémem Linux pomocí javy?

můžete spustit id příkaz a výsledek čtení.

například:

$ id -u jigar

výstup:

1000

příkaz můžete spustit pomocí

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

zdroj


Ve skutečnosti na to existuje API. Není třeba volat příkaz shellu nebo používat JNI, stačí

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

Pokud můžete ovlivnit, jak se Java VM spouští, můžete předat uid jako vlastnost uživatele:

java -Duserid=$(id -u) CoolApp

Ve své CoolApp můžete jednoduše načíst ID pomocí:

System.getProperty("userid");

S pozdravem

Martin.


Linux
  1. Jak odstranit použití bez oprávnění root s UID 0 v Linuxu

  2. Existuje způsob, jak zkontrolovat aktuální rpath v Linuxu?

  3. Zkontrolujte, zda je adresář prázdný, pomocí C na Linuxu

  1. Existuje nějaký způsob, jak získat 64bitový time_t v 32bitových programech v Linuxu?

  2. Získejte IPv6 adresy v linuxu pomocí ioctl

  3. Správný způsob, jak získat skupiny uživatelů v linuxu pomocí C

  1. Získejte masku podsítě v Linuxu pomocí bash

  2. Jak získat uživatelské jméno z uid

  3. Existuje způsob, jak získat poměry Hit/Miss mezipaměti pro bloková zařízení v Linuxu?