Создание комбинированного источника в pulseaudio

может сделать файл доступным только для чтения?

Что заставляет вас думать, что вы не можете удалить файл, который доступен только для чтения? Возможность удаления файлов регулируется доступом на запись к каталогу, в котором находится файл [*], а вовсе не правами доступа к файлу. Чтобы увидеть это, выполните:

touch a
chmod 0000 a
rm a

Хотя rm может запросить удаление файла, защищенного от записи, операция разрешена.

Итак, что вам нужно сделать, так это не давать программе, имеющей доступ к демону, права на запись в каталог, содержащий файл сокета, и вашему дяде Боба (что касается удаления файла сокета).

[*] - обратите внимание, что все немного усложняется липким битом, который может привести к проверке владельца файла , но не права доступа к файлу .

2
16.03.2017, 02:51
1 ответ

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

1) Настройте объединенный исходный код в ALSA с помощью плагина dsnoop, а затем сделайте его доступным для Pulseaudio с помощью module-alsa-source

2) Используйте module-null-sink для создания «виртуального» приемника. Для каждого источника, который требуется объединить, используйте экземпляр module-loopback для маршрутизации источника во вновь созданный виртуальный приемник. Используйте источник .monitor виртуального приемника в качестве комбинированного источника.

3) Посмотрите на исходный код module-combine-sink, используйте его для написания собственного модуля module-combine-source.

2
27.01.2020, 22:10

Теги

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