我正在构建一个 Linux 节点的计算集群(所有 Ubuntu 16,今天升级!),因此很多用户将有效地登录到每个节点,并且我希望存在各种网络共享,而他们不必在他们的脚本中编写明确的挂载命令,这需要他们的密码。
所以。我已经开始pam_mount
工作了;它会自动安装他们的主驱动器(每个人都有一个),然后从该主驱动器中获取他们的个人数据.pam_mount_config.xml
,并安装他们想要的任何其他东西。如果他们通过 SSH 连接到节点,这将完美运行。
但是,计算节点运行作业的方式是通过计算节点上的守护进程执行此操作:(我的用户名是wes
,该文件夹已经自动生成)
sudo -E -u wes env "PATH=$PATH" /bin/bash /tmp/nodemanager_task_109_0.dKLE3e/run_dir_in_out.sh
问题是登录sudo env
不会调用任何挂载共享的 PAM 脚本。我无法控制此命令,尽管我可以有效控制在 中调用的内容run_dir_in_out.sh
,因为它会运行我的集群作业的脚本。
wes
有没有办法让它以与用户输入完全相同的方式安装共享ssh
,无论是通过任何巧妙的配置,还是手动完成该pam_mount
过程?
抱歉,问题太冗长了——非常感谢您的帮助。