2011-12-31 74 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