[英]list of uids / names of System Preferences > Accounts
我可以从0迭代到99999并执行getpwnam()
。 但是,大多数计算机的帐户少于5个,因此并非最佳选择。 我不知道是什么框架负责的,因此我不知道要寻找什么。
有没有可以遍历帐户的最佳解决方案?
编辑:在我发布后,我发现遍历帐户的getpwent()
。
setpwent();
struct passwd *pw;
while ((pw = getpwent())) printf("%d\n", pw->pw_uid);
endpwent();
但是,这并不表示一个帐户是否为系统偏好设置帐户。
因此,仍然如何获得系统偏好设置帐户?
编辑:我已经找到了等效的命令行, dscl
命令。
prompt> dscl . -list /Users UniqueID
_mysql 74
_postfix 27
_spotlight 89
_sshd 75
_windowserver 88
_www 70
daemon 1
johndoe 501
nobody -2
root 0
使用getgrnam("staff")
获取人员组的组记录。 gr_mem
成员虽然没有在手册页中进行详细说明,但似乎是由NULL指针终止的用户名数组。
要查找哪些用户是管理员,请对admin组执行相同的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.