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 のようです。