GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak povolit prostory uživatelských jmen v jádře? (pro nepřivilegované `unshare`.)?

Moje linuxové jádro muselo být při sestavování nakonfigurováno s user_namespaces, ale jejich použití je po spuštění omezeno a musí být explicitně povoleno. Který sysctl bych měl použít?

(Pokud by toto bylo zapnuto, umožnilo by to spustit příkaz izolace jako unshare --user --map-root-user --mount-proc --pid --fork a poté proveďte chroot aniž byste byli root – velmi očekávaná funkce Linuxu.)

Přijatá odpověď:

O Debianu (a tedy pravděpodobně i Ubuntu) je známo, že dodává jádro s takovým omezením user_namespaces, a způsob, jak to povolit, byl/je:

sysctl -w kernel.unprivileged_userns_clone=1

(Zdroj:https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)

ALT má takové omezení také v kernel-image-std-def. Na rozdíl od Debianu se nazývá kernel.userns_restrict .

Normálně je to 1 (tj. „omezeno“):

$ cat /proc/sys/kernel/userns_restrict 
1

Chcete-li to povolit, echo 0 > /proc/sys/kernel/userns_restrict (nebo použijte sysctl jako výše, samozřejmě).


Linux
  1. Linux:Jak najít ovladač zařízení používaný pro zařízení?

  2. Linux – najít ovladač pro Linux pro sluchátka ve stromu jádra?

  3. Jak mohu rezervovat blok paměti z jádra Linuxu?

  1. Průběžné testování integrace linuxového jádra

  2. Linux – Jak najít implementace systémových volání jádra Linuxu?

  3. Linux – Jak zjistit, který modul poškozuje jádro?

  1. Jak najít aplikaci pro typ mime v systému Linux?

  2. Jak používat kdump pro analýzu pádů jádra Linuxu

  3. Jak vyčistit mezipaměti používané linuxovým jádrem