Назад | Перейти на главную страницу

Сессии пользователей в иерархии групп управления systemd, зачем это нужно?

Когда пользователь входит на сервер с помощью 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
│ │ └─user@0.service
│ │   └─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
│   └─user@1000.service
│     └─init.scope
│       ├─13388 /lib/systemd/systemd --user
│       └─13389 (sd-pam)

Но это поведение было необязательным в Debian 8 (уже с systemd), а в Debian 9 у вас есть возможность отключить с помощью pam-auth-update и если вы это сделаете, все будет работать одинаково.

Зачем нужна эта агрукация над пользователями под cgroups? Что происходит, когда он отключен?

На самом деле это не нужно, но позволяет администратору устанавливать ограничения для каждого пользователя через cgroup. Например. использование памяти и процессора может быть ограничено.

Если изоляция cgroup отключена, вы не сможете установить такие ограничения.