GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:come abilitare gli spazi dei nomi utente nel kernel? (per "annulla condivisione" senza privilegi.)?

Il mio kernel Linux deve essere stato configurato con user_namespaces al momento della compilazione, ma il loro utilizzo è limitato dopo l'avvio e deve essere abilitato in modo esplicito. Quale sysctl dovrei usare?

(Se fosse attivato, ciò consentirebbe di eseguire un comando di isolamento come unshare --user --map-root-user --mount-proc --pid --fork , quindi esegui chroot senza essere root, una caratteristica molto attesa di Linux.)

Risposta accettata:

Debian (e quindi probabilmente anche Ubuntu) è noto per fornire un kernel con una tale restrizione di user_namespaces, e lì il modo per abilitarlo era/è:

sysctl -w kernel.unprivileged_userns_clone=1

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

ALT ha una tale restrizione anche in kernel-image-std-def. Diversamente da Debian, si chiama kernel.userns_restrict .

Normalmente è 1 (ovvero "limitato"):

$ cat /proc/sys/kernel/userns_restrict 
1

Per abilitarlo, echo 0 > /proc/sys/kernel/userns_restrict (o usa sysctl come sopra, ovviamente).


Linux
  1. Test di integrazione continui per il kernel Linux

  2. Come abilitare l'inoltro IP su Linux

  3. Linux:come determinare quale modulo contamina il kernel?

  4. In che modo il kernel Linux determina l'ordine delle chiamate __init?

  5. Come visualizzare i parametri della riga di comando del kernel Linux forniti per l'avvio corrente?

Come compilare un kernel Linux nel 21° secolo

Come controllare la versione del kernel in Linux

Comando Sysctl in Linux

Come abilitare il sudo senza password per l'utente in Linux

Come disabilitare l'accesso SSH per l'utente root in Linux?

In che modo Linux carica l'immagine "initrd"?