我们最近在一个热衷于群组的网站遇到了这样一种情况,即有些群组成员身份没有被获取。我似乎记得用户可以加入的群组数量是有上限的。
虽然我对现代 Linux 系统特别感兴趣,但我也记得对于某些操作系统的某些旧版本来说,这个数字较低?
答案1
答案2
答案3
在 limits.h 中查找 NGROUPS_MAX 来找到系统上的值。
我思考这是现代 Linux 内核中可调的参数。(在 Solaris 上以前是 16,我不知道他们是否已经修复了这个问题。)
答案4
根据这个:sysconf(3)
#include <stdio.h>
#include <unistd.h>
int main(int argc, char** argv) {
long max_group = 0;
max_group = sysconf(_SC_NGROUPS_MAX);
printf("Max group : %ld\n", max_group);
return 0;
}
在 shell 中:
gcc -Wall -pedantic-errors -o maxgroup maxgroup.c