当用户使用 systemd 登录服务器时,PAM 逻辑会执行 pam_systemd。
使用该模块,用户将在 systemd 控制组下注册。这是两个用户(root 和普通用户)登录服务器的示例:
# systemd-cgls
Control group /:
-.slice
├─user.slice
│ ├─user-0.slice
│ │ ├─session-5233.scope
│ │ │ ├─13309 sshd: root@pts/0
│ │ │ ├─13367 -bash
│ │ │ ├─13447 systemd-cgls
│ │ │ └─13448 pager
│ │ └─[email protected]
│ │ └─init.scope
│ │ ├─13312 /lib/systemd/systemd --user
│ │ └─13313 (sd-pam)
│ └─user-1000.slice
│ ├─session-5236.scope
│ │ ├─13385 sshd: user1 [priv]
│ │ ├─13443 sshd: user1@pts/1
│ │ └─13444 -bash
│ └─[email protected]
│ └─init.scope
│ ├─13388 /lib/systemd/systemd --user
│ └─13389 (sd-pam)
但是这种行为在 Debian 8(已经使用 systemd)中是可选的,而在 Debian 9 中,您可以选择禁用pam-auth-update
,如果您这样做,一切似乎都同样有效。
为什么需要对 cgroups 下的用户进行分组?禁用该分组时会发生什么?
答案1
其实这并不是必需的,但它允许管理员通过 cgroup 设置每个用户的限制。例如,可以限制内存和 CPU 使用率。
如果禁用 cgroup 隔离,您将无法设置此类限制。