Возможность этого зависит в значительной степени от вашего приложения.Можно было бы создать например.образ файловой системы ext4 в обычном файле с использованием mke2fs
в качестве обычного пользователя, и было бы возможно получить к нему доступ с помощью libext2fs, связанного с вашим приложением (возможно, однопоточным) или с помощью fuse2fs в пользовательском пространстве.Может случиться так, что fuse2fs все еще нужно разрешение root для настройки, но я не уверен, но после этого он будет вести себя как обычная файловая система и не нуждается в блочном устройстве.