Linux пользователь двух группах

Группы пользователей в Linux: создаем группы, добавляем и удаляем из них пользователей

Перевод статьи «Linux User Groups Explained: How to add a new group, a new group member, and change groups».

Стая фламинго

Linux позволяет многочисленным пользователям работать в системе одновременно. Установка прав доступа защищает пользователей друг от друга. Для объединения пользователей с одинаковыми правами доступа создаются группы. Члены этих групп могут, например, иметь доступ к каким-то файлам или устройствам, в то время как для остальных пользователей доступ будет закрыт.

Часто группы создаются, чтобы дать отдельным пользователям право модифицировать файл или директорию.

Группы бывают двух основных видов: первичные и вторичные. Первичная группа это основная группа пользователя, установленная для него по умолчанию, с ней связан его аккаунт. Директории и файлы, создаваемые пользователем, имеют Group ID именно этой, первичной группы. Любая другая группа (а их может быть много), в которую входит пользователь, является вторичной.

Создание групп

Давайте создадим две группы: «writers» («писатели») и «editors» («редакторы»). Для этого используется команда groupadd. (Возможно, потребуется также поставить sudo в начале команды, чтобы получить право создавать группы).

groupadd writers groupadd editors

Создание пользователей

Возможно, у вас уже есть пользователи, которых вы могли бы добавить в только что созданные группы. Если нет, вот базовый синтаксис для создания пользователя при помощи команды useradd:

useradd [опции] имя_пользователя

Ниже представлена команда для создания пользователя по имени «quincy». Флаг -m нужен для создания домашней директории пользователя (для ее названия используется имя пользователя). Флаг -p позволяет задать пароль для пользователя, в данном случае — «p4ssw0rd».

useradd -m quincy -p p4ssw0rd

Позже пользователь сможет изменить свой пароль при помощи команды passwd. Для этого ему понадобится ввести текущий пароль и новый.

Читайте также:  Сделать usb загрузочной linux

Добавление пользователя в группу

Для добавления пользователя в группу используется команда usermod. Давайте добавим пользователя «quincy» в группу «writers». Опция -a означает «append» («добавить», «прикрепить»), а опция -G служит для указания названия вторичной группы.

usermod -a -G writers quincy

Когда вы создаете пользователя при помощи команды adduser, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь «quincy» состоит в первичной группе «quincy» и вторичной «writers».

Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).

А эта команда изменит первичную группу пользователя quincy на группу «editors»:

Группа пингвинов

Удаление пользователя из вторичной группы

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

При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).

Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:

Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».

Заключение

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

Источник

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

Именно владельцев и групп — нельзя. Для тонкой настройки есть POSIX ACL, есть SELinux.

deadNightTiger ★★★★★ ( 09.10.16 13:42:34 MSK )
Последнее исправление: deadNightTiger 09.10.16 13:42:53 MSK (всего исправлений: 1)

Читайте также:  Vpn client linux gui

Плюсую selinux.вопрос ТС’у: А для чего такое кудрявое решение понадобилось?

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

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

А это бессмысленная затея. Те, у кого нет доступа, попросят тех, у кого доступ есть, и файл им дадут почитать. Так что «одной группе полный доступ, остальным на чтение».

Ну а те кто имеет полный доступ даст им изменить файл. Так что остальным полный доступ. 🙂

Если полный доступ включает в себя возможность открывать доступ другим, то да. Не имеет смысла разграничивать права в таком случае.

Билд-сервер и разработчики могут менять артефакты, а тестеры и техпис — нет. А уборщицу туда вообще не пускать.

kirk_johnson ★☆ ( 10.10.16 10:33:03 MSK )
Последнее исправление: kirk_johnson 10.10.16 10:36:17 MSK (всего исправлений: 1)

setfacl -m u:USERNAME:rw- /path/to/file setfacl -m g:GROUPNAME:rwx /path/to/file 

Владельца это не изменит, но права установит.

Источник

Оцените статью
Adblock
detector