[LSF 最佳实践] LSF作业访问控制保护信息隐私
详解LSF访问控制级别(ACL)功能实现作业信息隐私保护
Dec 11, 2025
|
wanlinwang
|
5 min read
概述
默认情况下,任何有权访问 LSF 集群的用户都可以查询所有作业信息。但在以下场景中,这种默认行为可能不适合:
HPC 数据中心共享环境 :不同组织的项目共享集群资源,但不希望其他人看到自己的工作负载
商业客户内部集群 :公司政策可能不允许外包人员访问内部工作负载信息
常见需求
普通用户只能从命令行工具访问自己的作业信息
项目负责人只能访问其管理项目的工作负载信息
同一项目的所有用户可以访问同事的工作负载信息
LSF 访问控制级别(ACL)功能从 LSF 9.1.2 版本开始提供,支持不同级别的作业信息查询访问控制。
示例一:控制作业信息访问
需求
用户只能访问自己的作业信息
用户组管理员可以访问其组的作业信息
配置步骤
1. 配置 lsb.params 参数
1
2
3
4
5
# 限制所有用户只能访问自己的作业信息
SECURE_JOB_INFO_LEVEL = 4
# 允许用户组管理员访问其组的作业信息
ENABLE_JOB_INFO_BY_ADMIN_ROLE = usergroup
2. 重新配置 LSF
3. 验证配置
效果演示
假设 jack 和 mike 是普通用户,susan 是他们的组长:
jack(普通用户)只能看到自己的作业:
1
2
3
[ jack@host1]$ bjobs -u all
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
337 jack PEND normal host1 * eep 12345 Jun 9 15:15
mike(普通用户)只能看到自己的作业:
1
2
3
[ mike@host1]$ bjobs -u all
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
338 mike RUN normal host1 host1 sleep 123 Jun 9 15:36
susan(组管理员)可以看到所有组员的作业:
1
2
3
4
[ susan@host1]$ bjobs -u all
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
337 jack PEND normal host1 * eep 12345 Jun 9 15:15
338 mike RUN normal host1 host1 sleep 123 Jun 9 15:36
示例二:控制作业历史信息访问
需求
控制用户对作业历史信息(bhist、bacct)的访问。
配置步骤
1. 配置 lsb.params 参数
1
SECURE_INFODIR_USER_ACCESS = Y
2. 重启 mbatchd
3. 验证配置
4. 设置 setuid 位
为 LSF 主管理员在 bhist 和 bacct 可执行文件上启用 setuid 位:
1
2
3
4
5
6
7
8
9
10
11
12
# 查看当前权限
$ ls -l bhist bacct
-rwxr-xr-x 1 lsfadmin lsf 2958368 Nov 28 2022 bacct*
-rwxr-xr-x 1 lsfadmin lsf 3072216 Nov 28 2022 bhist*
# 设置 setuid 位
$ chmod u+s bhist bacct
# 验证权限变更
$ ls -l bhist bacct
-rwsr-xr-x 1 lsfadmin lsf 2958368 Nov 28 2022 bacct*
-rwsr-xr-x 1 lsfadmin lsf 3072216 Nov 28 2022 bhist*
效果
普通用户使用 bhist 和 bacct 只能查询自己的作业信息
只有 LSF 主管理员可以查询所有作业历史信息
访问控制级别
LSF ACL 功能支持五种不同级别的作业信息访问控制:
级别
说明
0
无限制(默认)
1
隐藏命令行和 CWD
2
隐藏输入/输出文件路径
3
隐藏环境变量
4
仅允许访问自己的作业
管理员角色
角色
参数值
说明
用户组管理员
usergroup
可访问其管理的用户组的作业信息
队列管理员
queue
可访问其管理队列的作业信息
集群管理员
cluster
可访问集群所有作业信息
配置参数汇总
参数
配置文件
说明
SECURE_JOB_INFO_LEVEL
lsb.params
作业信息访问控制级别
ENABLE_JOB_INFO_BY_ADMIN_ROLE
lsb.params
允许管理员角色访问作业信息
SECURE_INFODIR_USER_ACCESS
lsb.params
控制作业历史信息访问
参考资料
IBM Documentation - Applying job access control
IBM Documentation - Best practices and tips for LSF
Support the Creator
If you found this article helpful, consider supporting.