Заметил такую вещь, мне непонятную (в Debian такого не замечал):
Вывод команды groups для одного и того же пользователя различается, в зависимости от варианта вызова.
Например:
запускаем от рута без параметров
root@slackware
root@slackware# groups
root bin daemon sys adm disk lp wheel floppy audio video cdrom scanner
запускаем от рута с указанием имени пользователя
root@slackware
root@slackware# groups root
root : root bin daemon sys adm disk wheel
Берем обычного пользователя (только что созданного)
от имени обычного пользователя без параметров
patrik@slackware
patrik@slackware$ groups
patrik lp floppy audio video cdrom scanner
от имени обычного пользователя с указанием имени пользователя
patrik@slackware
patrik@slackware$ groups patrik
patrik : patrik
Очевидно, что вызов команды с указанием имени пользователя даёт правильный вариант, ибо, например в группе audio ни root, ни patrik не числятся.
root@slackware
root@slackware:~# cat /etc/group | grep audio
audio:x:17:alex
Что же показывает groups без параметров? Смотрим man groups
man groups
Print group memberships for each USERNAME or, if no USERNAME is speci‐
fied, for the current process (which may differ if the groups database
has changed).
Итак, если я правильно понимаю, команда выводит для каждого пользователя список групп, членом которых он является, а если имя пользователя не указано, то для текущего процесса.
Кстати, в русских переводах данной man-страницы говорится о текущем пользователе, а не текущем процессе.
Вот это не понятно.
Во-первых, непонятно, какой процесс имеется в виду.
Во-вторых, видно, что выводятся действительно группы пользователя, плюс ещё несколько групп, куда он не входит. Какой в этом смысл?
Или это системные группы?
Но всё равно непонятно, какой в этом смысл.