У меня есть массивный файл, т.е. 1TiB, принадлежащий как «обработчик файлов», разрешено rwx ------. Я mmap(2)-ed его в 64-битное адресное пространство, и все работает успешно. Этот файл обрабатывается процессом, выполняющимся как пользователь 'filehandler'.
Другие процессы запрашивают службы у этого обработчика, выполняющегося от имени другого пользователя, а не от обработчика файлов. Они входят в обработчик через сокет unix. Они общаются по правилам МПК, все ок.
Из-за соображений безопасности весь файл не должен передаваться запрашивающим. В файле только некоторые части могут быть доступны для запрашивающих процессов.
Наилучшая производительность будет предоставлена, если доля памяти, только разрешенные части файла с запрашивающими процессами.
Например, shm дает ключ для доступа к сегменту для других процессов, это практическое нацеливание на запросчик.
Есть ли способ поделиться только разрешенными частями пространства mmap(2) для любых процессов, идентифицированных как технология shm?