LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Линукс его никак не реализует. shm_open() это функция glibc, внутри которой спрятан обычный open() к файлам в /dev/shm.

Нативный для линукса это shmget().

Но вот эти твои опасения:

Не нравится то, что это имя видно снаружи, что его могут занять или переназначить на нём права, чтобы файл не открывался. Или могут открыть приложением, которому туда доступа быть не должно…

совершенно левые. Доступ в юниксах ограничивается не спрятыванием имён, а настройкой owner/group/mode. Переназначить права файлу, у которого ты не owner, нельзя. Если там стоит mode 0700 то и прочитать его чужой uid тоже не сможет.

имя видно снаружи, что его могут занять

Чтобы не занимали имя файла, его можно создавать в /run/user/{uid}/ (через open()) - это точно такое же tmpfs как и /dev/shm.

Исправление firkax, :

Линукс его никак не реализует. shm_open() это функция glibc, внутри которой спрятан обычный open() к файлам в /dev/shm.

Нативный для линукса это shmget().

Но вот эти твои опасения:

Не нравится то, что это имя видно снаружи, что его могут занять или переназначить на нём права, чтобы файл не открывался. Или могут открыть приложением, которому туда доступа быть не должно…

совершенно левые. Доступ в юниксах ограничивается не спрятыванием имён, а настройкой owner/group/mode. Переназначить права файлу, у которого ты не owner, нельзя. Если там стоит mode 0700 то и прочитать его чужой uid тоже не сможет.

Исходная версия firkax, :

Линукс его никак не реализует. shm_open() это функция glibc, внутри которой спрятан обычный open() к файлам в /dev/shm.

Нативный для линукс это shmget().

Но вот эти твои опасения:

Не нравится то, что это имя видно снаружи, что его могут занять или переназначить на нём права, чтобы файл не открывался. Или могут открыть приложением, которому туда доступа быть не должно…

совершенно левые. Доступ в юниксах ограничивается не спрятыванием имён, а настройкой owner/group/mode. Переназначить права файлу, у которого ты не owner, нельзя. Если там стоит mode 0700 то и прочитать его чужой uid тоже не сможет.