16

Может ли пользователь Linux принадлежать к нескольким группам?

Если это разрешено, то одно использование может получить доступ к файлам из двух групп, что было бы неплохо!

Если нет, есть ли альтернативный способ получить эту функцию?

Эта проблема не совпадает с гарантией того, что новые файлы в каталоге принадлежат группе, или Помогите мне понять права пользователя / группы Ubuntu

3 ответа3

17

Да, пользователь может быть членом нескольких групп:

Пользователи организованы в группы, каждый пользователь входит как минимум в одну группу и может быть в других группах. Членство в группе дает вам особый доступ к файлам и каталогам, которые разрешены для этой группы.

Например, вы можете добавить username в группы group1 и group2 с помощью следующей команды usermod :

usermod -a -G group1,group2 username
12

Да, обычный пользователь Unix может быть членом нескольких групп.

Однако есть только одна группа, которая является основной группой пользователя.

При добавлении пользователя, например, с помощью adduser , можно указать первичную группу с помощью параметра --ingroup и добавить несколько вторичных групп, например, в Debian/Ubuntu и так:

$ # would create user gert and group gert
$ sudo adduser gert

$ # same, but no group 'gert' will be created, but made member of the existing
$ # group 'adm'
$ sudo adduser gert --ingroup adm

$ # secondary groups
$ sudo adduser gert superusers
Adding user `gert' to group `superusers' ...
Adding user gert to group superusers
Done.
$ sudo adduser gert debianfans

Проверка пользователя, членом которого вы являетесь, может быть выполнена с помощью id:

$ id
uid=1000(gert) gid=1000(gert) groups=1000(gert),4(superusers),5(debianfans)
               ^^^            ^^^^^^
               primary        secondary
               group          groups

Также для других пользователей, просто передавая их имя пользователя в качестве первого аргумента id .

Вы можете изменить основную группу пользователя, используя опцию -g (--gid) usermod

$ usermod -g new_primary_group username
1

Да, смотрите другие ответы. и альтернативой являются списки контроля доступа.

setfacl
getfacl

Каждый файл может иметь список пользователей и групп, которые могут получить к нему доступ.

Человек - один пользователь и много групп (группы могут быть установлены только администратором / пользователем root). Обычно файл - это один владелец-пользователь и одна группа, а в списках ACL это может быть один пользователь-владелец, плюс много других пользователей, а также много групп.

То, что вы используете, зависит от того, что вам нужно. Списки управления доступом могут быть панелью для использования, но не нуждаются в админ (кроме установки и включения, она обычно не устанавливается по умолчанию). Другой способ проще, но менее мощный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .