Изменить точку монтирования по умолчанию для udisk

Просто улучшите исходный код вашего приложения (возможно Apache2 в вашем случае, который является открытым исходным кодом )для вызова setrlimit (2)после успешного вызова fork (2 ), но перед вызовом execve (2).

Поскольку вы действительно хотите, чтобы системный вызов setrlimitбыл выполнен после ,fork(то, что вы затем установили, остается до следующего вызова setrlimit, возможно, с помощью ulimitвстроенной функции твоя оболочка ).

Потратьте некоторое время, чтобы лучше понять, как системные вызовы (2)работают (в Linux, в частностиforkи execveи setrlimit), и как и когда их следует использовать. Я рекомендую прочитать хорошую книгу по системному программированию Linux, такую ​​как ALP .

Следовательно, то, чего вы хотите достичь, в общем случае нереалистично, если только вы не согласитесь немного изменить каждую используемую вами программу. Философия Unix , вдохновившая разработчиков fork, execve, setrlimit, запрещает это.

Конечно, вы могли бы, в принципе, делать безумныеLD_PRELOADтрюки , чтобы перегрузить поведениеfork(вызова setrlimitпосле того, как он возвращает 0 )илиexecve(вызова setrlimitсистемного вызова перед ним. )для динамически подключаемыхисполняемых файлов(или эквивалентно исправьте собственный вариант libc.so), но это неразумно. См. также файл (1)или ldd (1)для обнаружения таких динамически связанных исполняемых файлов.

Однако вы можете использовать встроенную оболочку ulimit, чтобы установить ограничения для Apache2 и всех его потомков. И вы можете погрузиться в документацию Apache2, у него есть множество настроек, касающихся его дочерних процессов.

0
22.09.2020, 17:55
1 ответ

KDE использует udisk для подключения съемных носителей.

man udisksрассказывает:

UDISKS_FILESYSTEM_SHARED : If set to 1, the filesystem on the device will be mounted in a shared directory (e.g. /media/VolumeName) instead of a private directory (e.g./run/media/$USER/VolumeName) when the Filesystem.Mount() method is handled.

Я думаю, это именно то, что вы ищете.

Кстати, я не знаю о какой-либо возможности изменить VolumeName в $USER

0
18.03.2021, 23:03

Теги

Похожие вопросы