Изменить UID / GID только одного потока в Linux

Есть ли способ изменить UID / GID только одного потока в многопоточном процессе?

Причиной этого является написание приложения для обслуживания файлов - ACL и квота не применяются, если uid / gid вызывающего абонента не настроен на правильного пользователя, новые файлы / каталоги не создаются с правильным uid / gid и т. Д.

Сетевые приложения обычно могут выполнять fork () в самом начале и обрабатывать каждый пользовательский запрос в отдельном процессе. Если есть необходимость в общих данных, они должны проходить через какую-то общую память. Однако, например, FUSE (пользовательская файловая система Linux) по умолчанию использует многопоточность, и в сочетании с привязками Python было бы нецелесообразно пытаться использовать модель разветвления.

«Последовательный» Кажется, что UID для всего процесса соответствует стандарту POSIX, однако старые Linux не следовали POSIX и допускали разные идентификаторы для разных потоков. Кажется, что новые ядра следуют POSIX, есть ли какой-нибудь способ разрешить старые «сломанные»? поведение?

Ответы на вопрос(2)

Ваш ответ на вопрос