Непривилегированный пользователь, как правило, не может изменить действующий идентификатор группы. Однако в программах с установленным битом setgid, которые приобретают действующий идентификатор группы своей группы-владельца в результате применения этого бита разрешения, можно менять местами реальный и действующий идентификаторы группы.
В большинстве современных систем UNIX применяется также принцип дополнительных групп. Это — группы, к которым может дополнительно принадлежать пользователь, отличные от его основной группы. В таких системах после выборки значений переменных $ ( или $) может быть получена строка с числовыми идентификаторами групп, разделенными пробелами. Первым идентификатором группы является идентификатор реальной или действующей основной группы пользователя, а остальные обозначают дополнительные группы. Подобные группы удобно использовать для выделения функций пользователя, например, для доступа к веб странице, представляющей авторские колонки на КСонлайн .
Изменение идентификаторов групп в программе на языке Perl может оказаться довольно сложным. Чтобы изменить реальную основную группу процесса, необходимо присвоить переменной $ ( одно число (а не список). Для изменения действующего идентификатора группы ID переменной $) также необходимо присвоить одно число. Чтобы одновременно изменить список дополнительных групп, нужно присвоить переменной $) список идентификаторов групп, разделенных пробелами. Первое число будет назначено как новый действующий идентификатор группы, а остальные, если они имеются, будут обозначать дополнительные группы. Для присвоения списку дополнительных групп значения пустого списка необходимо дважды повторить действующий идентификатор группы.