Quelle est la taille d'un tampon dois-je créer pour le nom d'utilisateur ou de groupe le plus long possible sur Linux?

StackOverflow https://stackoverflow.com/questions/6009453

  •  14-11-2019
  •  | 
  •  

Question

Quel est le nombre maximum de caractères qu'un nom d'utilisateur ou un nom de groupe peut être sur Linux?

J'ai besoin d'allouer un tampon et j'aimerais savoir combien d'espace j'ai besoin d'allouer pour garantir qu'il est suffisamment grand pour le groupe ou le nom d'utilisateur que mon application pourrait rencontrer.

Était-ce utile?

La solution

(Mettre mon commentaire dans une réponse maintenant que la question a été rouverte)

POSIX spécifie que LOGIN_NAME_MAX doit être> = _POSIX_LOGIN_NAME_MAX. _POSIX_LOGIN_NAME_MAX, à son tour, est défini à 9. Sur Linux, il semble que Login_name_max soit 256.

Pour les groupes, je ne pense pas qu'il y ait quelque chose de similaire. Une sorte de limite supérieure peut être supposée via les fonctions getGrnam_r () et getGrgid_r (), qui prennent un tampon fourni par l'utilisateur pour les entrées CHAR * dans le groupe struct. La taille maximale nécessaire pour ce tampon peut être récupérée via SYSCONF (_SC_GETGR_R_SIZE_MAX) ou le macro NSS_BUFLEN_GROUP. Sur Linux, NSS_BUFLEN_GROUP semble être 1024.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top