Cambiar UID / GID solo de un hilo en Linux

¿Hay una manera de cambiar UID / GID solo de un hilo en un proceso multiproceso?

El motivo de esto es escribir una aplicación de servicio de archivos: las ACL y la cuota no se aplican a menos que el uid / gid de la persona que llama esté configurado para el usuario correcto, los nuevos archivos / directorios no se creen con el uid / gid correcto, etc.

Las aplicaciones de red generalmente se pueden separar () al principio y procesar cada solicitud de usuario en un proceso separado. Si hay una necesidad de datos compartidos, debe pasar por algún tipo de memoria compartida. Sin embargo, por ejemplo El FUSE (sistema de archivos de usuario de Linux) de forma predeterminada utiliza subprocesos múltiples y, junto con los enlaces de python, no sería práctico intentar usar un modelo de bifurcación.

El UID 'consistente' para todo un proceso parece estar de acuerdo con el estándar POSIX, sin embargo, las Linux antiguas no seguían el POSIX y permitían diferentes uids para diferentes subprocesos. Los nuevos núcleos parecen seguir POSIX, ¿hay alguna manera de permitir el viejo comportamiento 'roto'?

Respuestas a la pregunta(2)

Su respuesta a la pregunta