GNU/Linux >> Tutoriels Linux >  >> Linux

Existe-t-il un moyen d'obtenir l'UID de l'utilisateur sur une machine Linux en utilisant Java ?

vous pouvez exécuter id commande et lire le résultat.

par exemple :

$ id -u jigar

sortie :

1000

vous pouvez exécuter la commande en

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

sources


Il existe en fait une API pour cela. Il n'est pas nécessaire d'appeler une commande shell ou d'utiliser JNI, juste

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

Si vous pouvez influencer le démarrage de la machine virtuelle Java, vous pouvez transférer l'uid en tant que propriété utilisateur :

java -Duserid=$(id -u) CoolApp

Dans votre CoolApp, vous pouvez simplement récupérer l'ID avec :

System.getProperty("userid");

Cordialement,

Martine.


Linux
  1. Comment créer un utilisateur Linux avec Ansible

  2. Comment supprimer une utilisation non root avec UID 0 sous Linux

  3. Obtenez des deltas de souris en utilisant Python ! (sous Linux)

  4. Vérifier si un répertoire est vide en utilisant C sous Linux

  5. Obtenir des adresses IPv6 sous Linux en utilisant ioctl

Obtenez podman opérationnel sur Windows en utilisant Linux

Qu'est-ce que l'UID sous Linux, comment le trouver et le modifier

Créer une machine virtuelle KVM à l'aide de l'image Qcow2 sous Linux

Comment obtenir la liste des comptes utilisateur MySQL sous Linux

Existe-t-il un moyen d'obtenir des emoji colorés dans n'importe quel émulateur de terminal sous Linux ?

Existe-t-il un moyen d'obtenir les ratios Cache Hit/Miss pour les périphériques de bloc sous Linux ?