web-dev-qa-db-ja.com

Ubuntu 18.04.1でのSystemdが「/user.slice/......service/init.scopeコントロールグループの作成に失敗しました:権限が拒否されました」で失敗する

私のUbuntu 18.04.1システムでは、systemdのユーザーマネージャーを起動できません。これが私が現在直面している他の問題の根本的な原因だと思います。これを取り除く方法はありますか?

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

Ubuntu 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.

Syslogは言う

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
2
Mischa

これは、Ubuntuをアップグレードした後に私に起こりました...次のディレクトリチェーンの権限を確認することをお勧めします。

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

したがって、ユーザーがそのディレクトリを作成できるように、otherが読み取りと実行の権限をすべて持っていることを確認する必要があります。私にとって、アップグレードでは/ sys/fs/cgroup/systemd /に適切なアクセス許可を設定してはなりません。そのため、次のようにしました。

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

1
benzeno

これは、cgroup階層が統合されたsystemdバージョン237のバグだと思います。

Systemd-runを使用して再現することもできます。

回避策は、カーネルパラメータを追加して、統合されたcgroup階層を無効にすることです。

ここからの回避策を使用して問題を修正しました: https://github.com/flathub/org.gimp.GIMP/issues/23#issuecomment-39491184

手順は次のとおりです。

  1. / etc/default/grubを編集し、変更します。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

に:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.legacy_systemd_cgroup_controller=1"
  1. Sudo update-grub
  2. リブート
0
Bill Ryder

Ubuntuの問題は、主要なパッケージが欠落していることです libpam-cgfs です

0