GNU/Linux >> Znalost Linux >  >> Linux

Změňte UID/GID pouze jednoho vlákna v Linuxu

setfsuid() specifické pro Linux / setfsgid() jsou spíše na vlákno než na proces. Jsou navrženy speciálně pro tento případ použití (souborový server).

Všimněte si, že access() bude stále kontrolovat přístup pomocí skutečného uid a gid - to je záměrné (je určeno k zodpovězení otázky "měl by uživatel, který spustil tento binární soubor, mít daný přístup k tomuto souboru" ). Pro setfsuid() / setfsgid() v případě, že byste měli zkusit požadovanou operaci a zjistit selhání kvůli nedostatku oprávnění v tomto bodě.


Chcete-li změnit uid pouze pro jedno vlákno, musíte použít přímo syscall:syscall(SYS_setresuid, ...); Funkce libc setresuid() jej synchronizuje pro všechna vlákna (pomocí singálu, který odešle všem vláknům)!


Linux
  1. Příkaz přejmenovat Linux

  2. Změňte název hostitele serveru Linux

  3. Změňte uživatelské jméno v systému Linux

  1. Jak změnit název hostitele v Linuxu

  2. Jak (správně) změnit UID a GID uživatele/skupiny v Linuxu

  3. souběžný přístup k souboru linux

  1. 10 DŮVODŮ PRO ZMĚNU WINDOWS 10 NA LINUX

  2. Linux – Vynucuje souborový systém pod Linuxem serializaci, což znamená, že v daném okamžiku skutečně dojde pouze k jedné změně souborového systému?

  3. Jak změnit Shell v Linuxu