通过PAM限制普通用户绕过torque提交任务到计算节点
来源:互联网 发布:17173dnf装备数据库 编辑:程序博客网 时间:2024/05/22 09:51
在川大物理学院实施集群时,发现部分用户绕过torque,从管理节点上通过SSH登陆到计算节点,直接运行程序,占用系统资源的现象。该现象严重影响了集群的正常运行。本文提供两个方法来应对这个现象。
方法一:
实现效果:当用户A在计算节点node1上有作业(由torque+maui.d分配的PBS任务)时,可以SSH到node1。当A在node1上无作业时,无法SSH登陆到node1。
1、 重新编译torque。
如果是单独安装torque+maui.d,在编译torque时使用如下参数:
./configure --enable-docs --with-scp --with-pam=yes --enable-syslog --prefix=以/开头的需要安装到的目录
该参数编译出的torque会在/lib64/sscurity/下生成3个含有pbs字样的PAM模块。
编译完成后按正常步骤安装torque和maui.d。(包括在计算节点安装本步骤已编译好的torque)
如果是使用GridView2.0,在安装前需要修改gridview_2_0\scripts\下边的install_torque_gridview.sh文件。
使用vi打开该文件,找到脚本里面的“./configure”行。这三行里面有两行是编译torque的,一行是编译maui的。修改编译torque的那两行,在选项里面添加一个--with-pam=yes 的选项。接下来按正常步骤安装gridview即可。
2、 配置PAM(该步骤操作在各计算节点进行,可以在其中一个计算节点修改好access.conf和system-auth文件,然后将这两个文件同步到其它所有计算节点。注意:如果将这两个文件同步给管理节点,将导致普通用户无法登陆到管理节点!!!)
先修改/etc/security/access.conf
在末尾加入一行:
-:ALL EXCEPTroot shi:ALL #除了root以外的用户都调用torque+PAM进行验证。(如果还有其他用户不需要限制,直接在增加一行,将root该为你需要的用户名)
然后修改/etc/pam.d/system-auth文件。
在末尾加入两行:
accountsufficient /lib64/security/pam_pbssimpleauth.so
account required/lib64/security/pam_access.so
通过如上两大步骤的配置就可以达到方法一的目标。
方法二:
实现效果:无论用户A在计算节点node1上有无作业,均不能SSH登陆到node1。
1、 修改node1的/etc/security/access.conf
在末尾增加两行如下:
- : ALL EXCEPTroot : node0 #禁止从node0过来的root以外的用户登陆。
+ : ALL : ALL #匹配其它默认规则。
2、 修改node1的/etc/pam.d/sshd
修改好的例子如下(只改动红色部分):
#%PAM-1.0
auth include common-auth
#auth required pam_nologin.so #加#注释该行。
account required pam_access.so #本行为新增,调用pam_access.so模块。
account include common-account
passwordinclude common-password
session include common-session
3、 将修改好的access.conf和sshd同步到其它计算节点。(如同步到管理节点,会造成所有普通用户无法登陆的现象。)
通过上述3个步骤,即可达到本法的效果。
总结:
无论是方法一还是方法二,都是通过linux系统自带的PAM功能来实现。限制用户通过某种方式访问本节点。两法的区别在于调用的pam模块。方法一调用的是torque的模块,方法二调用的是ssh的模块。万变不离其中,更多的限制方法等待大家去研究。
本问已在川大物理学院测试通过,软件环境:gridview2.0 rhel5.2x64
- 通过PAM限制普通用户绕过torque提交任务到计算节点
- 通过pam限制普通用户无密码登陆
- torque---添加计算节点
- 【集群管理】普通用户登不进计算节点
- 如何通过Java程序提交yarn的mapreduce计算任务
- Linux Note – 通过ulimit和PAM来限制资源
- Linux如何通过PAM限制用户登录失败次数
- Java Web提交任务到Spark Spark通过Java Web提交任务
- Spark提交任务到集群
- Spark提交任务到集群
- spark 提交任务到spark
- Centos7安装-单节点Torque
- Centos7安装-多节点Torque
- 从torque到 nebula2
- 普通用户通过udev漏洞提升到root权限
- Spark通过YARN-client提交任务不成功
- Spark通过Java Web提交任务
- 通过hue提交oozie定时任务
- Java 注解
- word 2007 默认显示缩略图而不是文档结构图
- D的小L---全排列
- LeetCode: Merge Intervals
- 孙子兵法在现代商战中的价值和应用
- 通过PAM限制普通用户绕过torque提交任务到计算节点
- 创造商业头脑的7种框架力
- VC++深入详解(3):MFC文本编程
- RHEL网络安装(kikstart)
- 再次谈谈linux下文件夹权限的问题
- gson转化日期
- Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3
- 轻松读懂财报
- 线性时间求出能够覆盖的最多区间数目