通过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

 


原创粉丝点击