Slurm限制普通用户登陆计算节点(超算管理员必看)
转载,原文:https://blog.csdn.net/qq_31910613/article/details/103338758
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,在最后添加两行
account sufficient pam_listfile.so item=user sense=allow file=/etc/ssh/allowed_users onerr=fail
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服务。
我用的是阿里云的EHPC,弹性计算节点,可以使用EHPC后处理脚本SetPostScripts触发新建计算节点同步配置文件。
(二)测试结果
(1)已验证pam_slurm_adopt功能可以限制普通权限用户只能登陆自己有作业运行的计算节点。此外不管是作业被杀掉还是正常结束,ssh连接都会断掉。
(2)已验证白名单/etc/ssh/allowed_users内的用户可以登录到任意计算节点,而未加入白名单的用户只能登陆有自己作业运行的节点。
Slurm限制普通用户登陆计算节点(超算管理员必看)相关推荐
- 如何禁止普通用户通过rsh登陆计算节点
依次修改各计算节点中/etc/xinetd.d/文件夹下面的rsh.rlogin.rexec文件 修改内容如下所示: [root@node11 ~]# vi /etc/xinetd.d/rsh # d ...
- WDA演练一:用户登陆界面设计(一)
一,新建用户表: 用户和密码参考标准的.这里给用户分了几个维度,以便后面进行接下来的业务设定. 二,新建ZLY_PORTAL 程序. 除了MAIN视图外,在添加LOGON视图. 1.导入预先做好的主页 ...
- X7-2计算节点关于网卡的一点变化
官方文档记载了X7-2的计算节点网卡信息如下: 2 x InfiniBand 4X QDR (40 Gbps) ports (PCIe 3.0), both ports active 2 x 1 Gb ...
- Yii 用户登陆机制
Yii 生成应用时已经提供了最基础的用户登陆机制.我们用 Yii 生成一个新的应用,进入 protected/components 目录,我们可以看到 UserIdentity.php 文件,里面的 ...
- 用户、配额管理 、 云主机类型管理 、 镜像管理 、 网络管理 、 安全和实例管理 、 计算节点扩容案例
Top NSD CLOUD DAY03 案例1:管理项目 案例2:新建云主机类型 案例3:上传镜像 案例4:创建网络 案例5:管理浮动IP地址 案例6:创建安全组及规则 案例7:创建云主机 案例8:安 ...
- 9 Openstack-Ussuri-Neutron控制/计算节点集群部署-centos8
Nova具体功能如下: 1 Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 VPN 等. 2 Neutron 提供了一个灵活的框架,通过配置, ...
- 看 nova-scheduler 如何选择计算节点 - 每天5分钟玩转 OpenStack(27)
2019独角兽企业重金招聘Python工程师标准>>> 本节重点介绍 nova-scheduler 的调度机制和实现方法:即解决如何选择在哪个计算节点上启动 instance 的问题 ...
- O027、看nova-scheduler如何选择计算节点
参考https://www.cnblogs.com/CloudMan6/p/5441782.html 本节重点介绍 nova-scheduler 的调度机制和实现方法:即解决如何选择在那个计算节点上启 ...
- 电脑切换用户关闭计算机会怎样,电脑中的“睡眠、关机、注销、切换用户、待机、休眠”都什么意思?有什么区别...
电脑中的"睡眠.关机.注销.切换用户.待机.休眠"都什么意思?有什么区别? (一)待机:待机模式主要用于节电,该功能使你可不需重新启动计算机就可返回工作状态.待机模式可关闭监视器和 ...
最新文章
- @bean注解和@component注解的区别_阿里面试题一:spring里面使用xml配置和注解配置区别...
- 关于maven工程中一直报和依赖包json-lib-2.4-jdk15.jar相关错误的问题解决方法
- python TypeError: Expected int32, got list containing Tensors of type '_Message' instead.
- MyBatis之简单了解Plugin
- 内部类的分类及其定义
- HTML css嵌套的一个例子
- ASP.NET AJAX入门系列(10):Timer控件简单使用
- Hibernate 入门之轻松上手 选择自 chainshun 的 Blog
- Android系统(187)---最易懂的Activity启动模式详解
- Objective-C 与JAVA的SHA1/HmacSHA1加密算法实现
- 【渝粤教育】国家开放大学2018年春季 0242-21T机械制图 参考试题
- Tomcat开发技术之与HTTP服务器的集成
- 程序之间耦合以及解耦问题探究
- java给xyz大小排序_Java Collection - 002 排序
- Java的反射 基础+简单复制对象实例
- 计算机测试的论文,计算机软件测试毕业论文(定稿).doc
- 《不要等到毕业以后》读书笔记
- ffmpeg 为取经而来_取经路上的妖魔鬼怪,傻傻分不清楚
- Crontab 每隔整点1小时2小时执行一次任务
- 洛谷P5322 [BJOI2019]排兵布阵【分组背包】
热门文章
- 实践练习1:OceanBase Docker 体验
- PyVCF 变异基因数据处理
- openeuler22.03实时系统安装及部署
- idea中提示语的显示和隐藏(port:8088)
- 建信笔试 10.10
- 清华大学计算机全套教程,清华大学计算机全套教程(值得收藏).doc
- c 语言 uint8 转char,在C中的uint8和char之间的转换
- “前端开发中的三种定时任务及其应用“
- Python 用最小二乘圆度拟合 的方法实现圆角测量
- Java之Spring5:IOC容器