может сделать файл доступным только для чтения?
Что заставляет вас думать, что вы не можете удалить файл, который доступен только для чтения? Возможность удаления файлов регулируется доступом на запись к каталогу, в котором находится файл [*], а вовсе не правами доступа к файлу. Чтобы увидеть это, выполните:
touch a
chmod 0000 a
rm a
Хотя rm
может запросить удаление файла, защищенного от записи, операция разрешена.
Итак, что вам нужно сделать, так это не давать программе, имеющей доступ к демону, права на запись в каталог, содержащий файл сокета, и вашему дяде Боба (что касается удаления файла сокета).
[*] - обратите внимание, что все немного усложняется липким битом, который может привести к проверке владельца файла , но не права доступа к файлу .
В встроенных модулях нет прямого эквивалента, но я могу придумать следующие способы:
1) Настройте объединенный исходный код в ALSA с помощью плагина dsnoop
, а затем сделайте его доступным для Pulseaudio с помощью module-alsa-source
2) Используйте module-null-sink
для создания «виртуального» приемника. Для каждого источника, который требуется объединить, используйте экземпляр module-loopback
для маршрутизации источника во вновь созданный виртуальный приемник. Используйте источник .monitor
виртуального приемника в качестве комбинированного источника.
3) Посмотрите на исходный код module-combine-sink
, используйте его для написания собственного модуля module-combine-source
.