Я знаю, что некоторые определяют права доступа к файловой системе (например, www-data). Но я не понимаю, почему на этот вопрос успешно ответили , добавив пользователя в группу «Видео».
Итак, вопрос в основном в том, что делают все готовые группы в Ubuntu? Более разумно, поскольку их так много, какие «специальные» группы существуют и как и когда их следует использовать?
Некоторые группы разрешают доступ к файлам или каталогам, например: 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
. Группа видео
обеспечивает доступ к видеооборудованию.
Описание каждой группы см. В файле: /usr/share/doc/base-passwd/users-and-groups.html
РЕДАКТИРОВАТЬ о первом комментарии:
На самом деле, обычно вам не обязательно быть в этих группах, чтобы «получить доступ» к аппаратным ресурсам с точки зрения пользователя. Обычно им управляет демон / сервер, входящий в группу с наиболее ограниченными правами, а затем разрешающий вам доступ к демону / серверу.
В вашем случае член группы видео
обеспечивает прямой доступ к графическому оборудованию, а не через X-сервер. Обычно на настольном / портативном компьютере хорошо иметь прямой доступ к графическому оборудованию ( glxinfo | grep «прямой рендеринг»
).
Примечание: если у вас есть прямой рендеринг, но вы не являетесь участником группа видео
( id | grep --color video
), вам был разрешен аппаратный доступ с помощью acl файла / dev
( find / dev / -group video -exec getfacl {} \; | grep $ USERNAME
).
В целом концепция разделения групп связана с этим:
http://en.wikipedia.org/wiki/Principle_of_least_privilege
Кажется глупым иметь все эти группы пока вы не поймете, что альтернативой может быть единый общий уровень высоких привилегий (например, sudo / root), что было бы кошмаром безопасности.
Большинство групп, показанных в вашем сообщении, существуют, так что различные части ОС могут получить доступ к общим функционал с наименьшим количеством привилегий. Пользователю не стоит слишком об этом беспокоиться. Во время некоторых административных задач вам может потребоваться повысить свои привилегии для доступа к некоторым функциям, и это обычно делается с помощью sudo для коротких одноразовых задач и путем добавления себя в определенную группу для повторяющихся задач.