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

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

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

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

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

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

решение1

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

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

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

usermod -a -G group1,group2 username

решение2

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

решение3

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

setfacl
getfacl

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

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

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

Связанный контент