Что группы делают в «Пользователи и группы»?

13

Я знаю, что некоторые определяют права доступа к файловой системе (например, www-data). Но я не понимаю, почему на этот вопрос успешно ответили , добавив пользователя в группу «Видео».

Итак, вопрос в том, что делают все предварительно собранные группы в Ubuntu? Более разумно, поскольку их так много, какие «специальные» группы существуют и как или когда их следует использовать?

введите описание изображения здесь

Scaine
источник

Ответы:

8

Некоторые группы разрешают доступ к файлам или каталогам, например: www-dataразрешают доступ к веб-файлам или admгруппе для чтения файлов /var/log. Это тривиальное использование.

Но некоторые группы разрешают доступ к определенным устройствам. Например, dialoutгруппа разрешает доступ к последовательным портам через файлы в /dev:

$ find /dev -group dialout -exec ls -ld {} \;
crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1

Так что если вы член dialoutгруппы можно использовать последовательные порты, чтение и запись в файл устройства: echo "Hello world" > /dev/ttyS0. videoГруппа позволяет получить доступ к видео аппаратуре.

Для описания каждой группы прочитайте файл: /usr/share/doc/base-passwd/users-and-groups.html

РЕДАКТИРОВАТЬ о первом комментарии:

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

В вашем случае членство в videoгруппе обеспечивает прямой доступ к графическому оборудованию, а не через X-сервер. Обычно на настольном компьютере / ноутбуке приятно иметь прямой доступ к графическому оборудованию ( glxinfo | grep "direct rendering").

Примечание: если у вас есть прямой рендеринг, но вы не являетесь членом videoгруппы ( id | grep --color video), вам был разрешен аппаратный доступ с помощью acl /devфайла ( find /dev/ -group video -exec getfacl {} \; | grep $USERNAME).

shellholic
источник
Отличный ответ, спасибо. Но просто следите - я не являюсь членом какой-либо группы в моей системе, но я все еще могу использовать все оборудование (например, видео). Я не понимаю, почему они существуют, если я все еще могу работать без них.
Scaine
Вам нужно будет sudo apt-get install aclзапустить эту вторую команду (getfacl). Благодарю за разъяснение.
Scaine
2

В целом понятие группового разделения относится к этому:

http://en.wikipedia.org/wiki/Principle_of_least_privilege

Все эти группы кажутся глупыми, пока вы не поймете, что альтернативой будет единый общий уровень высоких привилегий (например, sudo / root), который станет кошмаром безопасности.

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

user10804
источник