有沒有辦法在使用java的Linux機器上獲取用戶的UID?我知道System.getProperty("user.name");
方法,但它返回的用戶名,我在尋找UID。有沒有辦法在使用java的Linux機器上獲取用戶的UID?
8
A
回答
11
您可以執行id
命令並讀取結果。
例如:
$ id -u jigar
輸出:
可以執行命令通過
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) {
}
2
如果你能夠影響Java虛擬機是如何啓動的,你可以切換的UID作爲用戶屬性:
java -Duserid=$(id -u) CoolApp
在你CoolApp,你可以簡單地取ID:
System.getProperty("userid");
問候,
馬丁。
1
只需打開/etc/passwd
文件並搜索用戶等於System.getProperty("user.name")
的行。
1
另一種選擇是使用JNI調用getuid()。
相關問題
- 1. 有沒有辦法確定Firebase用戶的UID是否有效?
- 2. 有沒有辦法在32位Windows機器上使用java的tensorflow?
- 3. 有沒有辦法來獲取手機
- 4. 有沒有辦法在不使用onNewIntent的情況下獲得NFC UID?
- 5. 有沒有辦法直接在Java中使用Linux命令
- 6. 有沒有辦法使用python獲取本地機器的進程信息?
- 7. Linux上的Java機器人 - 沒有大寫字符(使用x11vnc)
- 8. 有沒有辦法使用JAVA SE獲取JQuery可變內容?
- 9. 有沒有辦法爲使用/ tokens資源的用戶獲取現有令牌?
- 10. 有沒有辦法通過Kohana獲取用戶機器上所有cookie的列表?
- 11. 有沒有辦法使用HttpPostedFile類獲取上傳進度?
- 12. 有沒有辦法在我的linux機器上發現粘貼操作?
- 13. 有沒有辦法在Webkit瀏覽器上使用jQuery 1.3.0獲取$ .mobile.pageCreate?
- 14. 有沒有辦法提示用戶在android上的輸入法?
- 15. 有沒有辦法根據他們使用的hashtag獲取用戶列表?
- 16. 有沒有辦法使用facebook圖形API獲取用戶的祖國名字?
- 17. 有沒有辦法在ASP.NET Identity 2.0中使用UserManager獲取用戶密碼?
- 18. 有沒有辦法在java中獲取數組的名稱?
- 19. 有沒有辦法在iOS上獲取用戶主屏幕背景?
- 20. 有沒有辦法使用JavaAPI獲取安裝在ElasticSearch上的插件列表?
- 21. 有沒有什麼辦法可以使用PDO獲取上次提取的ID
- 22. 有沒有辦法使用C++在Java手機上運行程序?
- 23. 有沒有辦法從Flurry API獲取用戶ID?
- 24. Codeigniter,有沒有辦法自動獲取用戶錯誤報告?
- 25. 有沒有辦法使用Flickr api獲取照片的路徑?
- 26. 有沒有辦法通過使用httpwebrequest的ID獲取元素?
- 27. shell腳本,以獲取有關任何用戶在Linux機器
- 28. 有沒有辦法通過cherrypy服務器獲取客戶端主機名
- 29. 在Linux機器上獲取用戶的默認電子郵件
- 30. 有沒有辦法在Delphi DataSnap REST服務器上使用JSONP?
如果您執行「id -n」 – 2011-01-25 16:42:19
`id -u`將只會打印UID,解析起來會容易得多。 –
dogbane
2011-01-25 16:44:05