Estou construindo um cluster computacional de nós Linux (todos Ubuntu 16, atualizados hoje!), então muitos usuários efetivamente entrarão em cada nó, e eu quero vários compartilhamentos de rede para que eles não precisem escrever comandos de montagem explícitos. seus scripts, que precisariam de suas senhas.
Eu tenho pam_mount
trabalhando; ele monta automaticamente a unidade inicial (todos têm um), depois pega seu .pam_mount_config.xml
pessoal dessa unidade inicial e monta qualquer outra coisa que deseje. Isso funciona perfeitamente se eles SSH para um nó.
No entanto, a maneira como um nó computacional executa um trabalho é fazer isso de um daemon no nó de cálculo: (meu nome de usuário é wes
, a pasta já é gerada automaticamente)
sudo -E -u wes env "PATH=$PATH" /bin/bash /tmp/nodemanager_task_109_0.dKLE3e/run_dir_in_out.sh
O problema é que o login com sudo env
não chama nenhum dos scripts PAM que montam quaisquer compartilhamentos. Eu não tenho controle sobre esse comando, embora eu efetivamente tenha controle sobre o que é chamado em run_dir_in_out.sh
, já que ele executa o script para meu trabalho de cluster.
Existe uma maneira de montá-los exatamente da mesma maneira como se o usuário wes
tivesse ssh
-ed in, seja por qualquer configuração inteligente, ou fazendo manualmente o processo pam_mount
? acontecer?
Desculpe pela pergunta - qualquer ajuda realmente apreciada.