javaを使用してLinuxマシンでユーザーのUIDを取得する方法はありますか? メソッドは認識してSystem.getProperty("user.name");いますが、ユーザー名が返され、UID を探しています。
18631 次
5 に答える
13
コマンドを実行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) {
}
于 2011-01-25T16:38:12.863 に答える
6
Java VM の起動方法に影響を与えることができる場合は、uidをユーザー プロパティとして渡すことができます。
java -Duserid=$(id -u) CoolApp
CoolApp では、次のように ID を簡単に取得できます。
System.getProperty("userid");
よろしく、
マーティン。
于 2011-01-25T17:00:14.367 に答える
1
ファイルを開い/etc/passwdて、ユーザーが と等しい行を検索するだけSystem.getProperty("user.name")です。
于 2011-01-25T17:03:32.103 に答える
1
もう 1 つの選択肢は、JNI を使用して getuid() を呼び出すことです。
于 2011-01-25T17:42:14.890 に答える