我应该为Linux上最长的用户名或组名创建多少缓冲区?

| 用户名或组名在Linux上最多可以包含多少个字符? 我需要分配一个缓冲区,并且想知道我需要分配多少空间以确保它对于我的应用程序可能遇到的任何组或用户名都足够大。     
已邀请:
(现在,我已重新打开问题,将我的评论放入答案中) POSIX指定LOGIN_NAME_MAX必须> = _POSIX_LOGIN_NAME_MAX。 _POSIX_LOGIN_NAME_MAX依次定义为9。在Linux上,LOGIN_NAME_MAX似乎是256。 对于团体,我认为没有类似的事情。可以通过getgrnam_r()和getgrgid_r()函数来估算某种上限,这些函数采用用户提供的结构组中char *条目的缓冲区。可以通过sysconf(_SC_GETGR_R_SIZE_MAX)或宏NSS_BUFLEN_GROUP检索此缓冲区的最大所需大小。在Linux上,NSS_BUFLEN_GROUP似乎是1024。     

要回复问题请先登录注册