2011-12-31 67 views
2

使用Java或bash我如何列出所有可能的所有者和羣組。列出所有可能的所有者和羣組

舉例來說,如果我是在一個殼裏做以下命令用顯然是錯誤的所有者:

chown ljafdj ~/Desktop/test.txt 

我的產出將是

CHOWN:無效的用戶:`ljafdj」

同樣是chgrp

那麼如何獲得使用bash或Java的有效用戶列表?

這是一個Android應用程序,我需要向我的用戶顯示可能性,以便他們可以根據需要進行更改。

+0

https://github.com/keesj/gomo/wiki/AndroidUserAndGroups – eboix 2011-12-31 18:57:52

+0

看起來非常有前景,現在感謝看看它 – user577732 2011-12-31 18:58:44

+0

等一下。你確定你想要手機的硬編碼組嗎?使用AccountManager,你可以得到他們的用戶名@ gmail.com和他們擁有的其他帳戶...... http://developer.android.com/reference/android/accounts/AccountManager.html#getAccounts() – eboix 2011-12-31 19:10:23

回答

1

使用shell( 「慶典」):

對於用戶:

getent passwd 

適合人羣:

getent group 

只是解析第一場(冒號前),以獲得實際的名字。

+0

使用android和當我運行這個getent沒有在我的設備上找到並且不是busybox的一部分。我檢查了在/ etc/passwd中發現的passwd,它只包含「root:x:0:0 ::/data/cron:/ system/bin/sh」,並且組中不存在其他任何想法?感謝建議 – user577732 2011-12-31 18:37:23

+0

你有看看'/ etc/nsswitch.conf'嗎?它是什麼定義爲用戶名和組的有效來源?(也就是說,如果這樣的文件存在) – fge 2011-12-31 18:40:06

+0

對不起 - 我不相信你的「android」標記,因爲它是整個問題中唯一提及Android的。:-) – ziesemer 2011-12-31 18:41:50