Ubuntu 18.04.1에서 Systemd가 "/user.slice/...service/init.scope 제어 그룹을 생성할 수 없습니다: 권한이 거부되었습니다"와 함께 실패합니다.

Ubuntu 18.04.1에서 Systemd가 "/user.slice/...service/init.scope 제어 그룹을 생성할 수 없습니다: 권한이 거부되었습니다"와 함께 실패합니다.

내 Ubuntu 18.04.1 시스템에서 systemd의 사용자 관리자가 시작되지 않습니다. 나는 이것이 내가 현재 겪고 있는 다른 문제의 근본 원인이라고 생각합니다. 이것을 제거하는 방법에 대한 아이디어가 있습니까?

시스템 버전

$ systemd --version
systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid

우분투 18.04.1 LTS 버전

$ uname -a
Linux example.com 4.15.0 #1 SMP Wed Jul 25 19:09:31 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux

systemctl 장치 상태

 $ sudo systemctl status [email protected][email protected] - User Manager for UID 1001
   Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: enabled)
  Drop-In: /lib/systemd/system/[email protected]
           └─timeout.conf
   Active: failed (Result: protocol) since Tue 2019-01-08 10:33:08 CET; 1min 42s ago
  Process: 315 ExecStart=/lib/systemd/systemd --user (code=exited, status=1/FAILURE)
 Main PID: 315 (code=exited, status=1/FAILURE)

Jan 08 10:33:08 example.com systemd[1]: Starting User Manager for UID 1001...
Jan 08 10:33:08 example.com systemd[315]: pam_unix(systemd-user:session): session opened for user mischa by (uid=0)
Jan 08 10:33:08 example.com systemd[1]: [email protected]: Failed with result 'protocol'.
Jan 08 10:33:08 example.com systemd[1]: Failed to start User Manager for UID 1001.

시스템 로그에 따르면

Jan  8 10:33:08 example.com systemd[1]: Starting User Manager for UID 1001...
Jan  8 10:33:08 example.com systemd[315]: Failed to create /user.slice/user-1001.slice/[email protected]/init.scope control group: Permission denied
Jan  8 10:33:08 example.com systemd[315]: Failed to allocate manager object: Permission denied
Jan  8 10:33:08 example.com systemd[1]: [email protected]: Failed with result 'protocol'.
Jan  8 10:33:08 example.com systemd[1]: Failed to start User Manager for UID 1001.

내 사용자 서비스 단위 파일

$ cat /lib/systemd/system/[email protected]
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=User Manager for UID %i
After=systemd-user-sessions.service

[Service]
User=%i
PAMName=systemd-user
Type=notify
ExecStart=-/lib/systemd/systemd --user
Slice=user-%i.slice
KillMode=mixed
Delegate=pids cpu
TasksMax=infinity
TimeoutStopSec=120s

답변1

우분투의 문제점은 핵심 패키지가 없다는 것입니다.libpam-cgfs

답변2

Ubuntu를 업그레이드한 후 이런 일이 발생했습니다... 다음 디렉터리 체인에서 권한을 확인해야 할 수도 있습니다.

/sys/fs/cgroup/systemd/user.slice/user-1000.slice/

그래서 당신은 확실히해야합니다다른사용자가 디렉터리를 생성할 수 있도록 전체 읽기 및 실행 권한이 있습니다. 나에게는 업그레이드가 올바른 권한을 설정하지 않은 것 같습니다./sys/fs/cgroup/systemd/ 그래서 나는 다음을 수행했습니다.

chmod o+rx /sys/fs/cgroup/systemd/

답변3

나는 이것이 통합된 cgroup 계층 구조를 갖춘 systemd 버전 237의 버그라고 생각합니다.

systemd-run을 사용하여 재현할 수도 있습니다.

해결 방법은 커널 매개변수를 추가하여 통합 cgroup 계층 구조를 비활성화하는 것입니다.

여기 해결 방법을 사용하여 문제를 해결했습니다.https://github.com/plathub/org.gimp.GIMP/issues/23#issuecomment-394911840

단계는 다음과 같습니다.

  1. /etc/default/grub을 편집하고 다음을 변경합니다.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

도착하다:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.legacy_systemd_cgroup_controller=1"
  1. sudo 업데이트 그럽
  2. 재시작

답변4

그것을 사용한 후에 이런 일이 일어났습니다 umount -a.mount -a

일부 디렉토리는 읽기 전용이 되었습니다. rw로 다시 설치하면 문제가 해결되었지만 모든 것을 다루지는 않았습니다.

...각 활성 서비스에 대한 폴더 구조를 수동으로 생성

mkdir /sys/fs/cgroup/systemd/[slice]/service

다음 : ...

chmod o+rx /sys/fs/cgroup/systemd/ -R
systemctl daemon-reload
systemctl daemon-reexec

다시 시작하지 않고 문제 해결(서비스를 실행 중이기 때문에 피해야 함) 중요한 알림:사용된chmod -R

관련 정보