GNU/Linux >> Tutoriales Linux >  >> Linux

Cambiar UID/GID solo de un hilo en Linux

El setfsuid() específico de Linux / setfsgid() son por subproceso en lugar de por proceso. Están diseñados específicamente para este caso de uso (servidor de archivos).

Tenga en cuenta que access() aún verificará el acceso utilizando el uid y el gid reales, eso es por diseño (tiene la intención de responder a la pregunta "¿debería el usuario que ejecutó este binario tener el acceso dado a este archivo" ). Para el setfsuid() / setfsgid() caso, solo debe probar la operación solicitada y detectar la falla debido a la falta de permiso en ese punto.


Para cambiar el uid solo para un subproceso, debe usar syscall directamente:syscall (SYS_setresuid, ...); ¡La función libc setresuid() lo sincronizará para todos los subprocesos (usando un singal que envía a todos los subprocesos)!


Linux
  1. Cómo cambiar un nombre de host en Linux

  2. Cómo cambiar Shell en Linux

  3. Comando de cambio de nombre de Linux

  4. Cambiar el nombre de host de un servidor Linux

  5. Cómo restringir su acceso a un usuario solo por PAM en Linux

Cómo cambiar un nombre de host en Redhat 7 Linux

Comando Cd en Linux (Cambiar Directorio)

¿Qué es UID en Linux, cómo encontrarlo y cambiarlo?

10 RAZONES PARA CAMBIAR WINDOWS 10 A LINUX

Cómo cambiar de usuario en Linux

Cómo cambiar la dirección IP en Linux