Acessa o namespace de montagem de outro processo

1

Existe uma maneira de inspecionar os arquivos e diretórios de outro namespace de montagem?

setns (2) syscall parece ser capaz de mover um thread para outro namespace, mas se essa funcionalidade ainda não estiver incorporada em um programa (um shell, fileserver, ..), parece que a execução de um novo processo é necessária. E como o namespace de montagem de destino pode não conter o binário necessário, isso é um problema.

Editar:
O que estou procurando é uma maneira "amigável" para acessar os arquivos no namespace. Eu posso imaginar que existe, por exemplo, uma maneira de montar o namespace em algum lugar no sistema host. Mas como não sei o que é possível, estou perguntando.

    
por Gima 17.10.2017 / 00:44

1 resposta

3

Você precisará definir "fácil de usar" se quiser uma resposta satisfatória garantida, mas dependendo de suas necessidades, /proc/<PID>/root para obter a hierarquia inteira do sistema de arquivos conforme visto por um processo específico e /proc/<PID>/mounts (e /proc/<PID>/mountinfo ) para o que está montado, onde você pode ir para onde precisa ir. Se você somente tem um descritor de arquivo para um namespace, você está em uma posição muito menos agradável, porque eu não estou ciente de como você pode ir do descritor de arquivo para um PID que já está no namespace, mas se é de onde você está vindo, você deixou a reserva "amigável" um tempo longo atrás, e as contorções são esperadas.

    
por 18.10.2017 / 00:28