GNU/Linux >> Linux の 問題 >  >> Linux

javaを使用してLinuxマシンでユーザーのUIDを取得する方法はありますか?

id を実行できます コマンドと読み取り結果。

例:

$ id -u jigar

出力:

<ブロック引用>

1000

でコマンドを実行できます
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) {
}

ソース


実際には、このための API があります。シェル コマンドを呼び出したり、JNI を使用したりする必要はありません。

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

Java VM の起動方法に影響を与えることができる場合は、uid を引き渡すことができます ユーザー プロパティとして:

java -Duserid=$(id -u) CoolApp

CoolApp では、次の方法で ID を簡単に取得できます。

System.getProperty("userid");

よろしく、

マーティン。


Linux
  1. Python を使用してマウス デルタを取得します。 (Linux の場合)

  2. Linux で C を使用してディレクトリが空かどうかを確認する

  3. Linux で ioctl を使用して IPv6 アドレスを取得する

  1. Cを使用してLinuxでユーザーのグループを取得する適切な方法

  2. bash を使用して Linux でサブネット マスクを取得する

  3. btrfs を使用する安定した Linux ディストリビューションはありますか?

  1. Ansibleを使用してLinuxユーザーを作成する方法

  2. uidからユーザー名を取得する方法

  3. Linux でブロック デバイスのキャッシュ ヒット/ミス率を取得する方法はありますか?