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

18

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

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

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

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

hugemeow
источник

Ответы:

17

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

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

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

usermod -a -G group1,group2 username
slhck
источник
14

Да, обычный пользователь 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
gertvdijk
источник
1

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

setfacl
getfacl

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

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

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

Ctrl-Alt-Делор
источник