ファイルがサービスに関連付けられているか、どの構成ファイルがサービスに関連付けられているかを知ることはできますか?

ファイルがサービスに関連付けられているか、どの構成ファイルがサービスに関連付けられているかを知ることはできますか?

ファイルがあり、/etc/foo.conf実際にどのサービスが使用されているかを知りたいとしましょう/etc/foo.conf。または、呼び出されたサービスがあり、foo.serviceそのサービスがどの構成ファイルを使用しているかを知りたいとします。ファイル内でそのファイルを使用するサービスを確認したり、各サービスが使用する構成ファイルを確認したりする方法はありますか?

fuserどちらかがlsof私が望む情報を提供すると仮定します。しかし、/etc/rsyslog.conffusionrを実行すると、rsyslogが有効になり、実行していても何も返されません。

より具体的な例として、ここの出力のいくつかは、サービスが使用する設定ファイルについてはまったく教えていません。

[user@host ~]# systemctl cat rsyslog
# /usr/lib/systemd/system/rsyslog.service
[Unit]
Description=System Logging Service
;Requires=syslog.socket
Wants=network.target network-online.target
After=network.target network-online.target
Documentation=man:rsyslogd(8)
Documentation=https://www.rsyslog.com/doc/

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/rsyslog
ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS
UMask=0066
StandardOutput=null
Restart=on-failure

# Increase the default a bit in order to allow many simultaneous
# files to be monitored, we might need a lot of fds.
LimitNOFILE=16384

[Install]
WantedBy=multi-user.target
;Alias=syslog.service

[user@host ~]# cat /etc/sysconfig/rsyslog
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS=""

答え1

いいえ。そのファイルの「所有権情報」は存在しません。代わりに、「サービス」はアクセス権を持つすべてのファイルを開くことができる実行可能ファイルです。したがって、構成をロードするために読み取るファイルをサービスに通知することも本質的にありません。

あなたができることは文書を読むことだけです。

関連情報