Slurm限制普通用户登陆计算节点(超算管理员必看)

SLURM提供了通过PAM插件限制普通用户随意登陆计算节点的功能。

(一)配置过程

(1)编译Slurm时指定编译参数--enable-pam。

(2)在slurm源码安装目录contribs/pam_slurm_adopt/目录下make && make install。

然后将生成的pam_slurm_adopt.a, pam_slurm_adopt.la和 pam_slurm_adopt.so 放到/lib64/security

(3)编辑SSHD的PAM配置文件/etc/pam.d/sshd

...
auth include password-auth

#newadd

account sufficient pam_listfile.so item=user sense=allow file=/etc/ssh/allowed_users onerr=fail

#newadd

account required pam_slurm_adopt.so

...

(4)编辑SSHD用户白名单文件。在步骤3完成后,所有用户(root除外)在没有作业运行的情况下是不能ssh登陆计算节点的。如果想对某些用户进行进行排除(即不受pam配置限制),可以在/etc/ssh/allowed_users(该文件位置由步骤3指定)中配置:

# cat /etc/ssh/allowed_users
root
youruser

然后 chmod 600 /etc/ssh/allowed_users 。

(5)在/etc/pam.d/system-auth和/etc/pam.d/password-auth中注释掉pam_localuser.so和pam_systemd.so

#account sufficient pam_localuser.so

#-session optional pam_systemd.so

(6)Slurm配置:

slurm.conf配置文件:


PrologFlags=CONTAIN

TaskPlugin=task/cgroup

ProctrackType=proctrack/cgroup

cgroup.conf配置文件:


CgroupAutomount=yes

ConstrainCores=yes

(7)其他配置

/etc/ssh/sshd_config确保UsePAM yes

禁用selinux

(8)注意事项:

所有节点同步/lib64/security/pam_slurm_adopt.a、/lib64/security/pam_slurm_adopt.la和/lib64/security/pam_slurm_adopt.so三个库。

所有节点同步/etc/pam.d/sshd、/etc/pam.d/system-auth、/etc/pam.d/password-auth三个配置文件和白名单文件/etc/ssh/allowed_users,然后重启sshd服务。

(二)测试结果

(1)已验证pam_slurm_adopt功能可以限制本地用户和ldap用户只能登陆自己有作业运行的计算节点。此外不管是作业被杀掉还是正常结束,ssh连接都会断掉。

(2)已验证白名单/etc/ssh/allowed_users内的用户可以登录到任意计算节点,而未加入白名单的用户只能登陆有自己作业运行的节点。

PS:

Slurm China社区,群里有很多大牛,感兴趣的同学可以加入。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值