Полномочия звука управления, отклоните доступ к аудио

Я хотел бы управлять полномочиями использовать звуковую карту. Существуют устройства "/dev/snd /*", владелец является "корнем", группа является "аудио", полномочия "660". Так, я ожидал бы, что только пользователи в "аудио" группе могли использовать звуковую карту, однако она не работает. У меня есть пользователь "u1", который не находится в группе "аудио", однако у него есть доступ! Я узнал, что доступом управляют с ACL, таким образом, getfacl показывает следующее:

# file: timer
# owner: root
# group: audio
# flags: --t
user::rw-
user:u1:rw-
group::rw-
mask::rw-
other::---

Строка "user:u1:rw-" волшебно появляется снова, даже если я удаляю ее с setfacl.

Для меня похоже, что существует корневой процесс, который автоматически добавляет полномочия к любому пользователю, игнорирующему "аудио" состав группы.

Почему доступ предоставляется? Как отклонить доступ на звуковую карту для пользователя?

2
задан 14 April 2014 в 06:17

1 ответ

Система контроля

Для включения ACL файловая система должна быть смонтирована с acl опцией.
вероятно, что опция ACL уже активна как опция монтирования по умолчанию Вашей файловой системы.
ввод Проверки (заменяют sdXY корректным разделом):

sudo tune2fs -l /dev/sdXY | grep "Default mount options"

вывод должен быть чем-то как:

Default mount options:    user_xattr acl

также проверка, что опция монтирования по умолчанию не переопределяется в таком случае, который Вы будете видеть noacl в /proc/mounts в соответствующей строке. Введите:

sudo cat /proc/mounts | grep noacl

, Если Вам нужно, можно установить опции монтирования по умолчанию файловой системы с помощью команды раздела tune2fs-o опции, например:

 tune2fs -o acl /dev/sdXY

Используя ACL:

для изменения использования ACL setfacl:

setfacl -m "u:username:permissions

или

setfacl -m "u:uid:permissions

, например, для отклонения доступа на звуковую карту для пользователя введите:

setfacl -m "u:u1:---" /dev/snd/controlC0 

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

, можно также проверить, были ли полномочия изменены с:

getfacl /dev/snd/controlC0 ( Control Interface /dev/snd/controlCX )

Обращаются к руководству man acl и man setfacl для большего количества опций.

0
ответ дан 10 November 2019 в 06:20

Другие вопросы по тегам:

Похожие вопросы: