Логін (3) та інші очікують на первинну групу. Їм це потрібно, щоб вони могли встановити дійсні поля у файлах utmp / wtmp. І навіть якщо вони цього не зробили (змінили формат файлу), ви зіткнулися б з більш принциповою проблемою, коли login (1) або sshd (8) або інші програми намагаються налаштувати сеанс користувача - незалежно від utmp / wtmp, що їм потрібно заповнити обидва Властивості процесу UID та GID ядра (як файли, створені користувачем, який увійшов у систему, повинні бути заповнені UID та GID, як ви помітили).
Щодо питання, чому всепотужному root потрібно більше, ніж первинна група, це не для перевірки дозволів (оскільки вони пропущені для UID 0), але це стосується деяких інших цілей.
Група "колесо" особливо використовується для декількох додаткових перевірок аутентифікації, як, наприклад, pam_wheel
Інші групи, такі як "оператор", можуть використовуватися для функцій безпеки (наприклад, якийсь процес, коли запускається root, може встановити (2) для непривілейованого USER (наприклад, "ніхто"), зберігаючи при цьому свої членські групи GROUP (наприклад, "оператор"). Це дозволило б такому процесу продовжувати доступ до файлів, що належать цій групі, при цьому значно скорочуючи проблеми із безпекою роботи з повним доступом до UID 0.
Я не впевнений, чи є у вашій системі програми, що використовують цю функцію (або за замовчуванням FreeBSD CURRENT)