GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada cara untuk mendapatkan UID pengguna di mesin Linux menggunakan java?

Anda dapat mengeksekusi id perintah dan membaca hasil.

misalnya:

$ id -u jigar

keluaran:

1000

Anda dapat menjalankan perintah dengan

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

sumber


Sebenarnya ada api untuk ini. Tidak perlu memanggil perintah shell atau menggunakan JNI, cukup

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

Jika Anda dapat memengaruhi cara Java VM dimulai, Anda dapat menyerahkan uid sebagai properti pengguna:

java -Duserid=$(id -u) CoolApp

Di CoolApp Anda, Anda cukup mengambil ID dengan:

System.getProperty("userid");

Salam,

Martin.


Linux
  1. Cara membuat Pengguna Linux Menggunakan Ansible

  2. Dapatkan delta mouse menggunakan Python! (di Linux)

  3. Periksa apakah direktori kosong menggunakan C di Linux

  1. Cara terbaik untuk mendapatkan id mesin di Linux?

  2. Dapatkan alamat IPv6 di linux menggunakan ioctl

  3. Dapatkan Subnet mask di Linux menggunakan bash

  1. Cara menghapus penggunaan non-root dengan UID 0 di Linux

  2. Apakah ada cara untuk memeriksa rpath saat ini di Linux?

  3. Apakah ada cara untuk mendapatkan versi BIOS dari dalam Linux?