Принудительная смена прав на tmpfs (хочется странного)
От: Anton Batenev Россия https://github.com/abbat
Дата: 09.08.12 21:59
Оценка:
Hello!

Я уже понимаю, что мне хочется странного, но тем не менее. Нужен RAM (или какие-то другие варианты) диск, на котором при создании файлов все файлы создавались бы от определенного пользователя (скажем nobody:nogroup umask 022) вне зависимости от того пользователя который их создавал или делал chmod/umask.

Попытаюсь пояснить зачем это нужно. Есть некоторый кэш приложения, которое создает свои файлы от имени того пользователя, который его запустил. Приложение менять нельзя (очень заморочено). Хочется этот кэш вынести в RAM диск, где бы он принудительно создавался всегда под одним пользователем и не имело значение от какого пользователя запущено оригинальное приложение (т.е. всегда были бы права rw на кэш).
avalon 1.0rc3 build 430, zlib 1.2.3.4
Re: Принудительная смена прав на tmpfs (хочется странного)
От: gavenkoa Украина http://gavenkoa.users.sourceforge.net/
Дата: 10.08.12 10:30
Оценка:
On 2012-08-10, Anton Batenev wrote:

> Hello!

>
> Я уже понимаю, что мне хочется странного, но тем не менее. Нужен RAM (или
> какие-то другие варианты) диск, на котором при создании файлов все файлы
> создавались бы от определенного пользователя (скажем nobody:nogroup umask
> 022) вне зависимости от того пользователя который их создавал или делал
> chmod/umask.
>
> Попытаюсь пояснить зачем это нужно. Есть некоторый кэш приложения, которое
> создает свои файлы от имени того пользователя, который его запустил.
> Приложение менять нельзя (очень заморочено). Хочется этот кэш вынести в RAM
> диск, где бы он принудительно создавался всегда под одним пользователем и не
> имело значение от какого пользователя запущено оригинальное приложение (т.е.
> всегда были бы права rw на кэш).

Как на счет FAT fs? Там есть

uid=...,gid=...,dmask=002,fmask=113

Также у ext2 есть grpid, правда нет аналога для user и масок прав...

--
Best regards!
Posted via RSDN NNTP Server 2.1 beta
Re: Принудительная смена прав на tmpfs (хочется странного)
От: watch-maker  
Дата: 10.08.12 11:29
Оценка: 4 (2)
Здравствуйте, Anton Batenev, Вы писали:

AB>Hello!


AB>Я уже понимаю, что мне хочется странного, но тем не менее. Нужен RAM (или какие-то другие варианты) диск, на котором при создании файлов все файлы создавались бы от определенного пользователя (скажем nobody:nogroup umask 022) вне зависимости от того пользователя который их создавал или делал chmod/umask.


Можно сделать прокладку из FUSE, которая будет модифицировать права. Например, взять bindfs или другой аналог.
Re: Принудительная смена прав на tmpfs (хочется странного)
От: watch-maker  
Дата: 10.08.12 12:14
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Есть некоторый кэш приложения, которое создает свои файлы от имени того пользователя, который его запустил. Приложение менять нельзя (очень заморочено).

Можно изменить функции, отвечающие за установку прав, вынести их в отдельную библиотеку и загружать её через механизм LD_PRELOAD.
Пример утилиты, которая так делает, — fakeroot. Но для твоей задачи её придётся чуть модифицировать. Если сравнивать с FUSE, то этот, конечно, сложнее, но зато работать будет чуть быстрее.
c
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.