UTS Namespace
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Um namespace UTS (UNIX Time-Sharing System) é um recurso do kernel Linux que fornece isolamento de dois identificadores de sistema: o hostname e o nome de domínio NIS (Network Information Service). Esse isolamento permite que cada namespace UTS tenha seu próprio hostname e nome de domínio NIS independentes, o que é particularmente útil em cenários de containerização, onde cada contêiner deve aparecer como um sistema separado com seu próprio hostname.
Quando um novo namespace UTS é criado, ele começa com uma cópia do hostname e do nome de domínio NIS do seu namespace pai. Isso significa que, na criação, o novo namespace compartilha os mesmos identificadores que seu pai. No entanto, quaisquer alterações subsequentes no hostname ou no nome de domínio NIS dentro do namespace não afetarão outros namespaces.
Processos dentro de um namespace UTS podem alterar o hostname e o nome de domínio NIS usando as chamadas de sistema sethostname()
e setdomainname()
, respectivamente. Essas alterações são locais para o namespace e não afetam outros namespaces ou o sistema host.
Processos podem se mover entre namespaces usando a chamada de sistema setns()
ou criar novos namespaces usando as chamadas de sistema unshare()
ou clone()
com a flag CLONE_NEWUTS
. Quando um processo se move para um novo namespace ou cria um, ele começará a usar o hostname e o nome de domínio NIS associados a esse namespace.
Ao montar uma nova instância do sistema de arquivos /proc
se você usar o parâmetro --mount-proc
, você garante que o novo namespace de montagem tenha uma visão precisa e isolada das informações do processo específicas para aquele namespace.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)