Users and groups (Русский)

Ссылки по теме
DeveloperWiki:UID / GID Database
Sudo (Русский)
Polkit
Права доступа и атрибуты файлов
systemd-homed
Сброс пароля root
Состояние перевода:
На этой странице представлен перевод статьи
Users and groups
. Дата последней синхронизации: 11 июля 2021. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Механизм пользвателей и групп используется в GNU/Linux для
управления доступом
к файлам, каталогам и периферийным устройствам. Базовый контроль доступа в Linux прост и не предлагает большого выбора настроек. Некоторые инструменты обеспечивают расширенный набор возможностей, подробнее см.
ACL
,
Capabilities
и
PAM#Configuration How-Tos
.
Обзор
Под
пользователем
понимается любой, кто работает с компьютером. Как правило, для каждого пользователя в системе создаётся отдельный аккаунт, которому присваивается специальное имя. В качестве имени пользователя можно использовать как реальные имена, вроде Mary или Bill, так и псевдонимы — Dragonlady, Pirate  и т.п. С помощью имени пользователь получает доступ к своему аккаунту и, в конечном счёте, к системе. Некоторые системные службы запускаются либо привилегированными аккаунтами, либо строго определёнными аккаунтами пользователей.
Механизм пользователей был разработан по соображениям безопасности, для ограничения доступа к различным частям системы.
Суперпользователь
(root) имеет полный доступ к операционной системе и её настройкам. Этот аккаунт используется только для целей системного администрирования; обычные пользователи могут временно
повысить уровень
своих прав командами
su
и
sudo
.
Один человек может создать несколько аккаунтов с разными именами. Некоторые специфические имена, вроде того же "root", зарезервированы и запрещены к использованию.
Пользователи часто объединятся в "группы". Добавление пользователя в определённую группу обычно даёт ему дополнительные права, связанные с этой группой.
Примечание
Если у вас нет опыта работы с аккаунтами и правами, то используйте указанные в статье инструменты с осторожностью. Не пытайтесь что-либо сделать с
существующими
аккаутами пользователей, за исключением разве что своего собственного.
Права и владельцы
Из статьи
Всё в UNIX есть файл
:
В операционной системе UNIX были сформулированы некоторые общие идеи и принципы, которые оказали в дальнейшем сильное влияние на её архитектуру, пользовательский интерфейс, культуру и развитие. В частности, один из основополагающих принципов выражается мантрой "всё есть файл", которую часто называют определяющим пунктом UNIX в целом.
Суть данного принципа заключается в создании унифицированного способа доступа к широкому диапазону ресурсов ввода/вывода: к документам, каталогам, жёстким дискам, дискам CD-ROM, модемам, клавиатурам, принтерам, мониторам, терминалам и даже межпроцессным и сетевым взаимодействиям. Цель — предоставление универсальной абстракции для каждого из этих объектов, названных отцами-оснвоателями UNIX общим термином "файл". Поскольку доступ к файлу осуществляется с помощью одного и того же API, стало возможно использовать одинаковый набор базовых команд для чтения и записи таких разнородных устройств, как диск, клавиатура, документ или сетевой интерфейс.
Из статьи
Использование абстракции файла в UNIX для работы с сетью
[
устаревшая ссылка
2024-01-13 ⓘ]
:
Абстракция файла, существующая в операционной системе UNIX и совместимых с ней системах, является основополагающей и всеобъемлющей. Любая системная служба и интерфейс устройства теперь могут реализовываться так, чтобы предоставлять другим приложениям метафору файла или файловой системы. Это открывает новые способы их использования и значительно расширяет возможности существующих приложений — простые инструменты, разработанные для решения узких задач, теперь, вооружившись абстракцией файла UNIX, могут использоваться совершенно по-новому. Небольшая утилита вроде cat, предназначенная для считываения одного или нескольких файлов и вывода их содержимого на стандартный поток вывода, теперь может выполнять чтение с устройств ввода-вывода с помощью специальных файлов устройств, как правило расположенных в каталоге
/dev
. С другой стороны, во многих системах запись и проигрываение звука теперь выполняется всего лишь командами "
cat /dev/audio > myfile
" и "
cat myfile > /dev/audio
" соответственно.
В GNU/Linux каждый файл принадлежит какому-то пользователю и группе. Существует три типа прав доступа — чтение, запись и исполнение. Права доступа задаются по отдельности для владельца-пользователя, владельца-группы, и для прочих пользователей, которые не входят в первые две категории. Владельцев файла и права доступа можно узнать с помощью "длинного" формата команды
ls
:
$ ls -l /boot/
total 13740
drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
-rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img
-rw-r--r-- 1 root root 1457315 Jan  8 08:19 System.map26
-rw-r--r-- 1 root root 2209920 Jan  8 08:19 vmlinuz-linux
Первая колонка содержит права доступа к файлу (например, правами файла
initramfs-linux.img
являются
-rw-r--r--
). Третья и четвёртая колонки содержат соответственно пользователя и группу, которым принадлежит файл. В этом примере все файлы принадлежат пользователю
root
и группе
root
.
$ ls -l /media/
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared
В этом примере каталог
sf_Shared
принадлежит пользователю
root
и группе
vboxsf
. Владельца и права доступа можно также определить утилитой
stat
.
Пользователь-владелец:
$ stat -c %U /media/sf_Shared/
root
Группа-владелец:
$ stat -c %G /media/sf_Shared/
vboxsf
Права доступа:
$ stat -c %A /media/sf_Shared/
drwxrwx---
Права доступа отображаются тремя группами символов, которые являются правами соответственно пользователя, группы и всех остальных. Например, строка
-rw-r--r--
говорит о том, что владелец файла имеет права на чтение и запись, но не на выполнение (
rw-
), а пользователи из группы-владельца и прочие пользователи имеют доступ только на чтение (
r--
и
r--
). С другой стороны, строка
drwxrwx---
говорит о том, что у пользователя и группы права на чтение, запись и исполнение (
rwx
и
rwx
), а все остальные доступа к файлу не имеют вовсе (
---
). Первый символ в строке означает тип файла.
Вывести список всех файлов, принадлежащих пользователю или группе, можно с помощью утилиты
find
:
# find / -group
имя_группы
# find / -group
номер_группы
# find / -user
имя_пользователя
Изменить владельцев файла можно командой
chown
, а права доступа меняются командой
chmod
:
См. также
chown(1)
,
chmod(1)
и
Linux file permissions
.
Shadow
В Arch Linux инструменты для работы с пользователями, группами и паролями собраны в пакет
shadow
, который являеется зависимостью
мета-пакета
base
.
Список файлов
Важно
Ни в коем случае не редактируйте эти файлы вручную. Есть специальные программы, которые обеспечивают правильную работу с базами данных и гарантируют отсутствие ошибок в форматировании. Подробнее см.
#Управление пользователями
и
#Управление группами
.
Файл
Назначение
/etc/shadow
Безопасное хранение информации о пользователях
/etc/passwd
Информация о пользователях
/etc/gshadow
Скрытая информация о группах
/etc/group
Принадлежность пользователей к группам
Управление пользователями
Список пользователей, которые в настоящий момент выполнили вход в систему, можно вывести командой
who
. Список хранящихся в
базе данных
аккаунтов и их характеристик можно вывести командой
passwd -Sa
с правами root. Описание формата вывода вы найдёте в руководстве
passwd(1)
.
Добавление нового пользователя выполняется командой
useradd
:
# useradd -m -G
дополнительные_группы
-s
оболочка_входа
имя_пользователя
-m
/
--create-home
указание создать домашний каталог пользователя по адресу
/home/
имя_пользователя
. В каталоге создаётся набор стартовых файлов, владельцем которых назначается новый пользователь.
-G
/
--groups
список дополнительных групп, в которые должен войти новый пользователь. Группы в списке разделяются запятыми. По умолчанию новый пользователь добавляется только в начальную группу (см. ниже в этом разделе).
-s
/
--shell
путь к файлу оболочки входа (login shell) пользователя. Убедитесь, что пакет с необходимой оболочкой установлен, если указали что-то, отличное от
Bash
.
Важно
Файл оболочки входа должен совпадать с одним из указанных в файле
/etc/shells
. В противном случае
PAM
-модуль
pam_shell
отклонит запрос на вход. В частности, нельзя вместо
/bin/bash
использовать
/usr/bin/bash
, разве что вы заранее настроили файл
/etc/shells
соответствующим образом. Подробнее см.
FS#33677
.
Примечание
При создании пользователя необходимо также с помощью утилиты
passwd
задать пароль. Подробнее см.
#Пример добавления пользователя
.
Группы в параметре
-G
задаются именами или номерами существующих групп. Если этот парамет не указан, то поведение
useradd
зависит от переменной
USERGROUPS_ENAB
в файле
/etc/login.defs
. Стандартное поведение (
USERGROUPS_ENAB yes
) — создать группу, название которой совпадает с именем нового пользователя.
Когда оболочка входа не нужна, например, если аккаунт пользователя создаётся для работы неинтерактивной службы, вместо обычной оболочки можно указать
/usr/bin/nologin
. В этом случае процедура входа будет корректно отклоняться (см.
nologin(8)
).
Другие доступные параметры можно найти в руководстве
useradd(8)
.
Пример добавления пользователя
Команда ниже добавит в систему пользователя
archie
, попутно создав для него домашний каталог, а также задействует настройки по умолчанию для групп, названий каталогов, используемых оболочек и проч.
# useradd -m archie
Совет
Узнать используемую по умолчанию оболочку входа можно командой
useradd --defaults
. Обычно в роли такой оболочки выступает Bash; чтобы это изменить, воспользуйтесь флагом
-s
/
--shell
. В файле
/etc/shells
перечислены доступные оболочки.
Хотя задавать пароль для защиты нового пользователя не обязательно, всё же рекомендуется это сделать:
# passwd archie
Указанная выше команда
useradd
автоматически создаст группу
archie
и сделает её группой по умолчанию для пользователя
archie
. Считается правильным подходом создавать отдельную группу для каждого нового пользователя.
Флагом
-g
можно задать другую исходную группу, но объединять пользователей в одну группу (например,
users
) в многопользовательских системах не рекомендуется. Причина в том, что  для совместного доступа на запись для группы пользователей значение
umask
устанавливается на
002
; в итоге все члены группы смогут перезаписывать ваши файлы. См. также
User Private Groups
. Если всё же необходимо добавить пользователя в какую-то группу, то при его создании укажите её как вспомогательную.
Если следовать рекомендованному подходу, т.е. создать группу, название которой совпадает с именем пользователя, то все файлы по умолчанию доступны на запись только создавшему их пользователю. Если вы хотите сделать некий каталог доступным на запись для всех членов определённой группы, то этому каталогу нужно установаить в правах доступа т.н. "бит setgid". Все создаваемые в этом каталоге файлы и подкаталоги получат в качестве группы-владельца группу родительского каталога, а не группу пользователя, их создавшего. Т.о. эти файлы будут доступны на запись для всех членов группы:
# chmod g+s
каталог_с_совместным_доступом
Временно изменить идентификатор группы GID пользователя можно командой
newgrp
. Например, после команды
newgrp
название_группы
создаваемые пользователем файлы будут привязаны к идентификатору группы
название_группы
; при этом заново выполнять вход не потребуется. Чтобы изменить GID обратно на исходный, выполните команду
newgrp
без аргументов.
Пример добавления системного пользователя
Системные пользователи чаще всего создаются для запуска процесоов/демонов другими пользователями, для защиты (например, с помощью
chown
) файлов и/или каталогов, а также по другим соображениям безопасности.
Команда ниже создаст системного пользователя без доступа к командной оболочке и без домашнего каталога (можно также указать флаг
-U
, чтобы создать группу, название которой совпадает с именем пользователя, и добавить пользователя в эту группу):
# useradd -r -s /usr/bin/nologin
имя_пользователя
Если необходимо присвоить новому пользователю конкретные идентификаторы UID и GID, то укажите их флагами
-u
/
--uid
и
-g
/
--gid
:
# useradd -r -u 850 -g 850 -s /usr/bin/nologin
имя_пользоваетеля
Смена имени пользователя или домашнего каталога
Команда для изменения домашнего каталога пользователя:
# usermod -d
/новый/домашний/каталог
-m
имя_пользователя
Флаг
-m
нужен для автоматического создания нового каталога и переноса в него всего содержимого старого.
Совет
Можно создать ссылку из прежнего домашнего каталога на новый. Это позволит программам находить нужные файлы, путь которых задан в исходниках явно.
# ln -s
/новый/домашний/каталог/ /старый/домашний/каталог
Обратите внимание, что в строке
/старый/домашний/каталог
отсутствует закрывающй символ
/
.
Команда для изменения имени пользователя:
# usermod -l
новое_имя
старое_имя
Важно
При этом вы не должны быть залогинены пользователем, имя которого собираетесь изменить. Откройте новый терминал (например, комбинацией клавиш
Ctrl+Alt+F6
), после чего войдите либо в root-аккаунт, либо в аккаунт другого пользователя,
повысив
права до root.
usermod
не позволит по ошибке изменить имя "самого себя".
Смена имени пользоваеля проста и безопасна, когда выполняется правильно. Просто используйте
usermod
. Если пользователь входит в "личную" группу с таким же именем, то переименовать её можно командой
groupmod
.
Альтернативный способ — отредактировать непосредственно файл
/etc/passwd
. В разделе
#База данных пользователей
дано описание его формата.
Также следует имейть в виду:
При использовании
sudo
убедитесь, что не забыли обновить файл
/etc/sudoers
, добавив в него нового пользователя (используйте для этого утилиту
visudo
с правами root).
Задачи
crontab
также необходимо отредактировать, переименовав файл пользователя в файле
/var/spool/cron
. Затем выполните
crontab -e
и отредактируйте пути к файлам и права доступа к ним.
Содержимое пользовательских файлов и каталогов
Wine
(вроде
~/.wine/drive_c/users
и
~/.local/share/applications/wine/Programs
) необходимо отредактировать.
Некоторые дополнения Thunderburd, вроде
Enigmail
, возможно придётся переустановить.
Все элементы системы (комбинации клавиш, сценарии оболочки и т.п.), где используются абсолютные пути к файлам в старом домашнем каталоге, необходимо изменить. Чтобы избежать этого в будущем, используйте в скриптах переменные
~
или
$HOME
для обозначения домашнего каталога.
Тажке не забудьте отредактировать файлы настроек в каталоге
/etc/
, которые полагаются на абсолютные пути (например, файлы Samba, CUPS и т.д.). Найти нуждающиеся в редактировании файлы проще всего командой
grep -r
старое_имя_пользователя
*
.
Другие примеры управления пользователями
Команда для добавления информации о пользователе (например, настоящего имени) в виде комментария
GECOS
:
# chfn
имя_пользователя
(здесь
chfn
запускается в интерактивном режиме).
Либо же можно добавить более длинный GECOS-комментарий командой:
# usermod -c "Comment"
имя_пользователя
Следующая команда пометит пароль пользователя как истёкший и потребует от него при следующем входе создать новый:
# chage -d 0
имя_пользователя
Удаляются аккаунты пользователей командой
userdel
:
# userdel -r
имя_пользователя
Флаг
-r
указывает на то, что домашний каталог и почтовый ящик тоже должны быть удалены.
Команда для изменения оболочки входа пользователя:
# usermod -s
/bin/bash
имя_пользователя
Совет
Скрипт
adduser
AUR
позволяет выполнять действия команд
useradd
,
chfn
и
passwd
интерактивно. См. также
FS#32893
.
База данных пользователей
Информация о пользователях хранится в открытом виде в файле
/etc/passwd
: каждая строка в нём представляет собой набор из семи полей, описывающих аккаунт.
account:password:UID:GID:GECOS:directory:shell
По порядку:
account
— имя пользователя. Это поле не может быть пустым. Применяются стандартные для *NIX правила именования.
password
— пароль пользователя.
Важно
Файл
passwd
доступен на чтение для всех пользователей в системе, поэтому хранить в нём пароли (в виде хэш-сумм или как-то иначе) небезопасно. Вместо этого в Arch Linux используются
shadow-пароли
: поле
password
содержит всего лишь символ
x
, а хэшированный пароль хранится в файле
/etc/shadow
, доступ к которому ограничен. По этой причине менять пароли лучше командой
passwd
.
UID
— численное значение идентификатора пользователя. В Arch Linux нумерация обычных пользователей (отличных от root) начинается с UID 1000.
GID
— численное значение идентификатора основной группы пользователя. Идентификаторы групп можно найти в файле
/etc/group
.
GECOS
— необязательное поле, носящее информативный характер; обычно содержит настоящее имя пользователя, но может также использоваться службами вроде
finger
и изменяться командой
chfn
. Поскольку поле необязательное, его можно оставить пустым.
directory
— используется командой входа для задания переменной окружения
$HOME
. Некоторые службы, для которых создаются специальные пользователи, используют для этого корневой каталог
/
, но обычные пользователи чаще всего хранят домашний каталог в разделе
/home
.
shell
—
командная оболочка
пользователя. Это поле является необязательным, и если в нём ничего не указано, то используется оболочка
/bin/bash
.
Пример:
jack:x:1001:1003:Jack Smith,some comment here,,:/home/jack:/bin/bash
Смысл строки следующий: пользователь
jack
, пароль хранится в
/etc/shadow
, идентификатор пользователя — 1001, идентификатор его основной группы 1003. Полное имя — Jack Smith, также имеется некоторый комментарий. Домашний каталог
/home/jack
, используемая командная оболочка —
Bash
.
Команда
pwck
проверяет корректность базы данных. При этом она может отстортировать список пользоватей по идентификаторам групп, что бывает полезно при сравнении:
# pwck -s
Важно
Arch Linux при обновлении пакетов создаёт резервные файлы с суффиксом
.pacnew
. За исключением случая, когда pacman выводит сообщение с требованием что-то предпринять, при появлении файла базы данных с таким суффиксом его необходимо удалить. Добавление новых пользователей и групп должно производиться только утилитой
systemd-sysusers(8)
или сценариями установки пакетов.
Автоматическая проверка целостности
Чтобы не запускать
pwck
/
grpck
вручную, можно воспользоваться
таймером
systemd
shadow.timer
из пакета
shadow
. Он по умолчанию включён и каждый день запускает службу
shadow.service
, которая, в свою очередь, будет запускать
pwck(8)
и
grpck(8)
для проверки целосности файлов групп и пользователей.
При обнаружении несоответствий группы можно отредактировать с помощью команды
vigr(8)
, а пользователей — командой
vipw(8)
. Эти утилиты предоставляют дополнительный слой безопасности, блокируя базы данных на время редактирования. В качестве редактора по умолчанию используется vi, но с помощью
переменной окружения
EDITOR
можно выбрать любой другой.
Управление группами
В файле
/etc/group
перечислены существующие группы (подробнее см.
group(5)
). Также существует файл
gshadow
, который используется достаточно редко (см.
gshadow(5)
).
Команда для вывода списка групп, в которых состоит пользователь:
$ groups
пользователь
Если
пользователь
не указан, то будет выведен список групп текущего пользователя.
Команда
id
позволяет узнать дополнительные подробности, вроде UID и GID пользователя:
$ id
пользователь
Команда для вывода списка существующих групп:
$ cat /etc/group
Команда для создания новой группы:
# groupadd
группа
Добавить пользователя в группу можно командой
gpasswd
(см.
FS#58262
на предмет возможных ошибок):
# gpasswd -a
пользователь
группа
Также добавить пользователя в группы можно командой
usermod
(здесь
доп_группы
— список групп, разделённых запятыми без пробелов):
# usermod -aG
доп_группы
пользователь
Важно
Если не указать флаг
-a
, то команда удалит пользователя из всех групп, кроме указанных в списке
доп_группы
. В итоге пользователь будет числиться только в группах из этого списка и ни в каких более.
Команда для изменения группы, например, переименования:
# groupmod -n
новая_группа
старая_группа
Примечание
Изменится название группы, но не численное значение GID. Файлы, принадлеживашие  старой группе, будут теперь принадлежать новой.
Команда для удаления группы:
# groupdel
группа
Команда для удаления пользователя из группы:
# gpasswd -d
пользователь
группа
Примечание
Если пользователь в этот момент был залогинен, то ему придётся выйти из системы и снова выполнить вход, чтобы изменения вступили в силу.
Проверить корректность базы данных групп можно командой
grpck
.
Важно
Arch Linux при обновлении пакетов создаёт резервные копии файлов с суффиксом
.pacnew
. За исключением случаев, когда pacman выводит сообщение с требованием что-то предпринять, файл базы данных с таким суффиксом необходимо удалить. Добавление новых пользователей и групп при установке пакетов должно производиться только утилитой
systemd-sysusers(8)
или установочными скриптами.
Список групп
В этом разделе объясняется назначение важнейших групп из пакета
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]*
Доступ к устройствам параллельного порта (принтеры и прочие).
mail
/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]
.
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
также недоступна. См. также
FS#31414
.