systemctl status <servicename>.service
新しくインストールされたサービスを手動で停止して実行すると、この警告が表示されます。
「警告:権限がないため、一部のログファイルが開かれませんでした。」
ログファイルとはどういう意味ですか?それは何を指すか。
答え1
tl;dr: 使用sudo systemctl status ...
。
を使用すると、systemctl
プロキシを使用してsystemd
ルートプロセスと通信します。 systemd
あなたに返信を送ることもできますが、あなたが許可しない限り、内容全体を教えてくれません。
その中には、systemctl status
そのレッスンの最新のジャーナル項目が表示されます。
私の設定では、ファイルには/var/log/journal/{machine-id}/*.journal
次の権限があります。
-rw-r-----+ 1 root systemd-journal 117440512 Jun 28 08:02 [email protected]~
-rw-r-----+ 1 root systemd-journal 92274688 May 31 08:21 system@70d66b763a2e48928c16fc2c8a23fbfa-0000000000000001-0005e0363468a504.journal
-rw-r-----+ 1 root systemd-journal 50331648 Jun 2 12:05 system@70d66b763a2e48928c16fc2c8a23fbfa-000000000001a077-0005e048c99c4a31.journal
これはroot
、メンバーがsystemd-journal
ログファイルを直接読み取ることができることを意味します。+
追加権限(ACL)も設定されていることを示します。
$ getfacl [email protected]
...
group:adm:r-x #effective:r--
...
これは、グループの全員にもadm
読み取りアクセス権があることを意味します。
systemd
これは、ジャーナルに関する情報を知らせるように求めるときに考慮されます。あなたがsystemd-journal
グループに属していないか、ログadm
があなたのバスに属しているか、特定のエントリに対する権限を与えるための特定の規則があるかどうかをsystemd
確認するためにログを調べます。それはあなたが知ることが許されているものだけを教えてくれます。--user
polkit
sudo systemctl status
最も簡単な答えは、効果的にbeを使用してroot
からsystemctl
その情報を要求することです。
答え2
上記のコメントで@Quolonelの質問が提案したように、最良の(そして確かに最も簡単な)方法は、おそらくユーザーがグループに属していることを確認することですadm
。私のUbuntuシステムでは、次のように達成できます。
sudo usermod -G adm <myuser>
ユーザーセッションからログアウトして再度ログインすると、別途の手順なしで情報にアクセスできますsudo
。