Содержание
- 1 Список групп
- 2 Прочие инструменты для работы с базами данных
- 3 Ограничения на добавление пользователей в группы
- 4 Создание групп
- 5 Создание пользователей
- 6 Добавление пользователя в группу
- 7 Удаление пользователя из вторичной группы
- 8 Добавляем нового пользователя во вторичную группу
- 9 Добавить пользователя в группу в Ubuntu
- 10 Создание новой группы в Ubuntu
- 11 Удалить пользователя из группы в Ubuntu
- 12 Простой способ добавления и удаления пользователей из групп
- 13 Новые способы управления разрешениями в Ubuntu
Список групп
В этом разделе объясняется назначение важнейших групп из пакета filesystem . Существует множество других групп, которые создаются при установке пакетов с присвоением корректного GID. Подробности вы найдёте на страницах руководств соответствующих программ.
Примечание: Удаление пакета не приводит к удалению автоматически созданных пользователей и групп. Это сделано намеренно, потому что в противном случае созданные в процессе работы программы файлы могут остаться без владельца, что потенциально представляет угрозу безопасности.
Пользовательские группы
Часто возникает необходимость добавить обычного (не root) пользователя в одну из групп, обеспечивающих доступ к периферийным устройствам или упрощающих системное администрирование:
adm | Группа администрирования, обычно используется для чтения файлов защищённых логов. Позволяет читать файлы журнала. | |
ftp | /srv/ftp/ | Доступ к файлам FTP-сервера. |
games | /var/games | Доступ к некоторым игровым программам. |
http | /srv/http/ | Доступ к файлам HTTP-сервера. |
log | Доступ к файлам логов в каталоге /var/log/, созданным syslog-ng. | |
rfkill | /dev/rfkill | Управление питанием беспроводных устройств (используется rfkill). |
sys | Администрирование принтеров с помощью CUPS. | |
systemd-journal | /var/log/journal/* | Может использоваться как альтернатива группам adm и wheel для чтения журналов systemd [1]. В противном случае отображаются только сообщения, созданные пользователем. |
uucp | /dev/ttyS[0-9]+, /dev/tts/[0-9]+, /dev/ttyUSB[0-9]+, /dev/ttyACM[0-9]+, /dev/rfcomm[0-9]+ | Последовательные порты RS-232 и подключенные к ним устройства. |
wheel | Группа администрирования, даёт необходимые права. Имеет доступ к файлам журнала и принтерам в CUPS. Также позволяет работать с утилитами sudo и su (по умолчанию их не использует). |
Системные группы
Следующие группы имеют значение для всей системы, и добавление в них пользователям производится только в указанных целях:
dbus | Используется в dbus | |
kmem | /dev/port, /dev/mem, /dev/kmem | |
locate | /usr/bin/locate, /var/lib/locate, /var/lib/mlocate, /var/lib/slocate | См. locate. |
lp | /dev/lp[0-9]*, /dev/parport[0-9]* | Доступ к устройствам параллельного порта (принтеры и прочие). |
/usr/bin/mail | ||
nobody | Непривилегированная группа. | |
proc | /proc/pid/ | Группа для сбора информации о процессах. Должна быть задана явно опцией монтирования gid=, не работает, если смонтировать файловую систему proc с опцией hidepid= |
root | /* | Полный доступ к администрированис и управлению системой (root, admin). |
smmsp | Группа sendmail. | |
tty | /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx | |
utmp | /run/utmp, /var/log/btmp, /var/log/wtmp |
Группы, существовавшие до перехода на systemd
До перехода Arch Linux на systemd пользователи должны были вручную добавляться к этим группам, чтобы получить доступ к устройствам. Такой подход был признан устаревшим после перехода на udev, помечающий устройства меткой uaccess, и logind, динамически присваивающий пользователям права доступа с помощью ACL в соответствии с тем, какой сеанс активен на данный момент. Обратите внимание, что чтобы вышеперечисленное работало, сеанс должен быть корректным (см. General troubleshooting#Session permissions).
Есть несколько важных исключений, которые требуют добавления пользователей в группы ниже — например, если вы хотите разрешить неавторизованным пользователям доступ к устройствам. Тем не мнее, имейте в виду, что это может стать причиной определённых проблем (например, группа audio мешает быстрому переключению между пользователями, а также даёт приложениям возможность блокировать програмное микширование).
audio | /dev/audio, /dev/snd/*, /dev/rtc0 | Прямой доступ к звуковому оборудованию для всех сеансов. По-прежнему требуется, чтобы ALSA и OSS работали в удаленных сеансах, см. ALSA#User privileges. Также используется в JACK для выдачи пользователям разрешений на работу в режиме реального времени. |
disk | /dev/sd[a-zA-Z]*[1-9] | Доступ к блочным устройствам, не затронутым другими группами вроде optical, floppy и storage. |
floppy | /dev/fd[0-9]* | Доступ к флоппи-дискам. |
input | /dev/input/event[0-9]*, /dev/input/mouse[0-9]* | Доступ к устройствам ввода. Введено в systemd 215 [2]. |
kvm | /dev/kvm | Доступ к виртуальным машинам с использованием KVM. |
optical | /dev/sr[0-9], /dev/sg[0-9] | Доступ к оптическим устройствам, таким как CD- и DVD-приводы. |
scanner | /var/lock/sane | Доступ к оборудованию сканера. |
storage | /dev/st[0-9]*[lma]*, /dev/nst[0-9]*[lma]* | Даёт доступ к съёмным носителям вроде USB-дисков, устройств flash/jump, MP3-плееров; позволяет монтировать носители [3]. В настоящее время используется в основном для работы с ленточными носителями без использования правил udev: [4], [5], [6], [7]. |
video | /dev/fb/0, /dev/misc/agpgart | Доступ к устройствам захвата видео, аппаратное ускорение 2D/3D, framebuffer (X можно использовать без поддержки этой группы). |
Неиспользуемые группы
Следующие группы в настоящий момент никак не используются.
bin | Историческое наследие. | |
daemon | ||
lock | Использовалась для lockfile-доступа. Требовалась для gnokii AUR. | |
mem | ||
network | Не использовалась по умолчанию. Могла использоваться в NetworkManager (см. NetworkManager#Set up PolicyKit permissions). | |
power | ||
uuidd | ||
users | Основная группа для пользователей; использовалась, если приватные группы не были предусмотрены. Например, при создании с опцией USERGROUPS_ENAB no в файле /etc/login.defs, или командой useradd с флагом -N/—no-user-group пользователь помещался именно в эту группу. |
Прочие инструменты для работы с базами данных
Для просмотра отдельных записей можно использовать getent(1) :
% getent group tty
Как отмечалось в разделе #База данных пользователей, для работы с базами данных лучше использовать специализированные утилиты вроде passwd и chfn. Если же они недоступны, то есть vipw и vigr. Данные редакторы предпочтительней обычных текстовых редакторов, поскольку они могут блокировать базу данных на случай одновременного редактирования, а также не позволяют добавить в базу некорректную запись. Shadow-базы редактируются командами vipw -s и vigr -s из пакета util-linux , если утилита chage также недоступна.
Ограничения на добавление пользователей в группы
- Максимальное число участников в группе. Количество участников группы не ограничено, поэтому пригласить, добавить или принять можно сколько угодно пользователей.
- Детские аккаунты. Добавить пользователей детских аккаунтов нельзя ни одним из способов.
Как отправлять приглашения
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- В верхней части экрана нажмите Добавить участников.
- Внизу переведите в выключенное положение переключатель
Добавлять участников напрямую. - Введите адреса электронной почты нужных пользователей.
- Если нужно добавить сообщение с приглашением, введите текст.
- Нажмите Отправить приглашения.
- Как управлять приглашениями
- Слева выберите Ожидающие рассмотрения участники.
- Выполните одно из следующих действий:
- Чтобы пригласить пользователя ещё раз, выберите приглашение
справа нажмите на значок «Отправить приглашение повторно»
. Через 7 дней приглашение становится недействительным, но его можно отправить повторно в любой момент. - Чтобы отменить отдельное приглашение, выберите его
справа нажмите на значок «Отменить приглашение»
. - Чтобы повторно отправить или отменить несколько приглашений сразу, установите флажки рядом с ними
справа над списком нажмите на значок «Отправить приглашение повторно»
или «Отменить приглашение»
- Чтобы пригласить пользователя ещё раз, выберите приглашение
Как добавлять пользователей в группу напрямую
При добавлении напрямую вы можете назначить пользователям роль участника, менеджера или владельца.
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- В верхней части экрана нажмите Добавить участников.
- Введите адреса электронной почты нужных пользователей.
-
Если нужно добавить приветственное сообщение в уведомление по электронной почте для новых участников, введите текст.
- Нажмите Добавить участников.
Как управлять запросами на присоединение к группе
Вы можете проверять запросы на вступление в свою группу и принимать или отклонять их.
- Войдите в Google Группы.
- Нажмите на название группы.
- Слева выберите Ожидающие рассмотрения участники.
- Выполните одно из следующих действий:
- Чтобы одобрить отдельный запрос, справа от него нажмите на значок «Одобрить запрос»
. - Чтобы отклонить запрос, справа от него нажмите на значок «Отклонить запрос»
. - Чтобы одобрить или отклонить несколько запросов сразу, установите флажки рядом с ними
справа над списком нажмите на значок «Одобрить запрос»
или «Отклонить запрос»
- Чтобы одобрить отдельный запрос, справа от него нажмите на значок «Одобрить запрос»
Как посмотреть список участников
Для группы можно посмотреть список участников, а также пользователей, которые были в ней заблокированы.
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- Чтобы посмотреть список заблокированных пользователей, слева нажмите Заблокированные пользователи.
Создание групп
Давайте создадим две группы: «writers» («писатели») и «editors» («редакторы»). Для этого используется команда groupadd. (Возможно, потребуется также поставить sudo в начале команды, чтобы получить право создавать группы)
Создание пользователей
Возможно, у вас уже есть пользователи, которых вы могли бы добавить в только что созданные группы. Если нет, вот базовый синтаксис для создания пользователя при помощи команды useradd:
useradd [опции] имя_пользователя
Ниже представлена команда для создания пользователя по имени «quincy». Флаг -m нужен для создания домашней директории пользователя (для ее названия используется имя пользователя). Флаг -p позволяет задать пароль для пользователя, в данном случае — «p4ssw0rd».
useradd -m quincy -p p4ssw0rd
Позже пользователь сможет изменить свой пароль при помощи команды passwd. Для этого ему понадобится ввести текущий пароль и новый.
Добавление пользователя в группу
Для добавления пользователя в группу используется команда usermod. Давайте добавим пользователя «quincy» в группу «writers». Опция -a означает «append» («добавить», «прикрепить»), а опция -G служит для указания названия вторичной группы.
usermod -a -G writers quincy
Когда вы создаете пользователя при помощи команды adduser, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь «quincy» состоит в первичной группе «quincy» и вторичной «writers».
Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).
А эта команда изменит первичную группу пользователя quincy на группу «editors»:
usermod -g editors quincy
Удаление пользователя из вторичной группы
Чтобы удалить пользователя из вторичной группы, нужно перезаписать список групп пользователя, задав набор групп, в котором не будет этой вторичной группы.
При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).
id -nG quincy
Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:
usermod -G editors quincy
Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».
Изменение пользователей
Для того, чтобы изменить параметры уже существующей учетной записи используется команда usermod, для ознакомления с ее возможностями получим список ключей командой
usermod -h
Приведем некоторые из них:
- -c — изменить комментарий
- -d — новый домашний каталог
- -g — новая основная группа
- -G — новые дополнительные группы
- -a — добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
- -l — новое имя учетной записи
- -L — блокировать учетную запись
- -m — переместить содержимое домашнего каталога, используется только вместе с -d
- -U — разблокировать учетную запись
Например:
usermod -c «Ivanov Ivan» -aG sudo ivan
Данная команда создаст новый комментарий к учетной записи и добавит пользователя ivan в дополнительную группу sudo.
Управление группами пользователей
Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.
Для создания группы используйте:
groupadd office
Из дополнительных ключей имеют практический смысл:
- -g — использовать указанный GUID
- -f — завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.
При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:
groupmod -n sales office
Данная команда переименует группу office в группу sales. Используемые ключи:
- -g — изменить GUID группы
- -n — изменить наименование группы
Ну и наконец groupdel, который используется для удаления групп:
groupdel office
Из параметров можно использовать:
- -f — удалить группу, даже если она является основной для пользователя
При удалении групп всегда нужно проявлять осмотрительность и не следует удалять группы, в которых состоят пользователи. Если же такая необходимость существует, то следует предварительно вывести из группы пользователей и изменить группу для всех объектов, которыми владела удаляемая группа.
Добавляем нового пользователя во вторичную группу
Используем команду useradd для добавления нового пользователя в существующую группу. Если группа не существует, то создаем её.
useradd -G {group-name} username |
Создадим пользователя NewUser и добавим его в группу devops.
Авторизуемся как пользователь root и убедимся, что группа devops существует:
devops:x:1000: |
Если группы нет, используем команду groupadd для создания новой группы devops:
# groupadd devops |
Затем добавляем пользователя NewUser в группу devops:
useradd -G devops NewUser |
Установим пароль пользователю NewUser:
# passwd NewUser |
Опция -G позволяет добавить пользователю группу. Группы можно перечислять через запятую. К примеру, добавим пользователя NewUser в группы admins, ftp, www:
# useradd -G admins,ftp,www NewUser |
Добавляем нового пользователя в основную группу
Для добавления пользователя NewUser в группу devops используем следующую команду:
# useradd -g devops NewUser |
Опция -g позволяет добавить пользователя в основную группу. Группа должна существовать.
Добавляем существующего пользователя в существующую группу
Добавляем существующего пользователя NewUser во вторичную группу ftp:
# usermod -a -G ftp NewUser |
Изменяем существующему пользователю NewUser первичную группу на www:
# usermod -g www NewUser |
# security Автоматическая перезагрузка сервера после Kernel PanicБрутим пароли с Гидрой (THC-Hydra)
Добавить пользователя в группу в Ubuntu
Есть две команды, которые вы должны знать, когда хотите добавить пользователя в группу в Linux. Это команда groups и команда usermod. Первый позволяет увидеть, какие группы вы уже назначены. Просто запустите следующее:
groups
Прежде чем добавить пользователя в группу, вы хотите убедиться, что пользователь действительно существует. Для этого вы можете использовать команду getent. Чтобы получить список всех групп, выполните следующее:
getent group
Вы увидите список групп, а также список назначенных им пользователей.
Чтобы добавить пользователя в группу, используйте команду usermod. Как правило, вы делаете это с помощью команды, подобной следующей:
sudo usermod -a -G group username
С помощью приведенной выше команды замените group на имя группы, в которую вы хотите добавить пользователя, и username на имя пользователя. Например:
sudo usermod -a -G sudo kwouk
Это позволило бы пользователю использовать команду sudo. Поскольку только пользователи в этой группе могут использовать sudo , вы можете запустить команду usermod если вы уже в этой группе.
Хотя это руководство посвящено Ubuntu, для добавления пользователя в группу в других дистрибутивах вы должны использовать те же самые шаги.
Создание новой группы в Ubuntu
Иногда вы сталкиваетесь с ситуациями, когда вам нужно добавить пользователя в группу, но эта группа не существует. В этом случае вам нужно будет создать группу самостоятельно, куда входит команда groupadd.
Эта команда очень проста в использовании. Просто запустите его под sudo с названием группы, которую вы хотите создать. Например:
sudo groupadd newgroup
Вышеприведенное приведет к созданию группы, известной как «новая группа». Эта команда может не выполняться, но для установки определенного программного обеспечения может потребоваться создание новых групп. Чтобы добавить пользователя в группу, которую вы только что создали, выполните те же действия, как описано выше.
Удалить пользователя из группы в Ubuntu
Теперь вы знаете, как добавить пользователя в группу в Linux, но как насчет удаления его из группы? Это может варьироваться в разных дистрибутивах Linux, но, к счастью, в Ubuntu легко удалить пользователя из группы.
Команда deluser, как следует из названия, часто используется для полного удаления пользователя. Вы также можете использовать его в Ubuntu для удаления пользователя из группы, а также в других дистрибутивах, таких как Debian, где также доступен пакет. Чтобы удалить пользователя из группы, используйте команду следующим образом:
sudo deluser username groupname
Всегда проверяйте, что имя группы присутствует дважды. Если вы запустите команду без имени группы, она просто полностью удалит пользователя. Например, следующая команда удалит пользователя из группы «sudo».
sudo deluser kwouk sudo
Если вы опустите последний «sudo» в приведенной выше команде, он удалит пользователя «kwouk».
Это может помочь дважды проверить, к каким группам уже назначен пользователь. Для этого просто запустите следующее:
sudo groups username
Простой способ добавления и удаления пользователей из групп
Многие люди предпочли бы использовать графический инструмент в Ubuntu для добавления пользователей и удаления их из групп. Если вам часто приходится это делать и вы не предпочитаете работать из командной строки, это может значительно облегчить вашу работу. К счастью, это не только возможно, но и просто.
Для этого вам необходимо установить пакет «gnome-system-tools», который содержит несколько различных утилит. Нас интересует только приложение «Пользователи и группы», но нам все равно нужно установить весь пакет. Для этого выполните следующую команду:
sudo apt install gnome-system-tools
Ответьте «да» на запросы, затем дождитесь загрузки и установки пакетов. После завершения установки запустите приложение «Пользователи и группы».
С левой стороны вы увидите список пользователей вашей системы. Чтобы добавить и удалить пользователей из групп, нажмите «Управление группами». Вы увидите список всех групп, доступных в вашей установке Ubuntu. Чтобы добавить пользователей в группы, нажмите «Свойства» и установите флажок рядом с их именами. Удалить пользователей из групп, сняв флажок.
Новые способы управления разрешениями в Ubuntu
Хотя его Unix-корни восходят к 1970-м годам, Linux постоянно развивается. Это не только означает лучшую аппаратную поддержку и настройки производительности. По мере развития Linux мы видим все больше способов управления пользователями и разрешениями.
Помимо прочего, в Ubuntu 19.10 добавлена версия 3.32 для Gnome, в которую добавлен контроль прав доступа к приложениям. Это позволит вам использовать разрешения приложения в стиле смартфона. Хотя эта функция все еще находится в зачаточном состоянии, она может сделать рабочий стол Linux более безопасным.
- https://wiki.archlinux.org/title/Users_and_groups_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
- https://support.google.com/groups/answer/2465464?hl=ru
- https://techrocks.ru/2020/01/16/linux-user-groups-explained/
- https://interface31.ru/tech_it/2020/01/linux-nachinayushhim-chast-6-upravlenie-polzovatelyami-i-gruppami-praktika.html
- https://bogachev.biz/2016/06/10/kak-dobavit-polzovatelya-v-gruppu-linux/
- https://ip-calculator.ru/blog/ask/ubuntu-linux-dobavlenie-i-udalenie-polzovatelej-v-gruppy/