![파일이 서비스와 연결되어 있는지 또는 어떤 구성 파일이 서비스와 연결되어 있는지 알 수 있습니까?](https://linux55.com/image/225336/%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%99%80%20%EC%97%B0%EA%B2%B0%EB%90%98%EC%96%B4%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EB%98%90%EB%8A%94%20%EC%96%B4%EB%96%A4%20%EA%B5%AC%EC%84%B1%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%99%80%20%EC%97%B0%EA%B2%B0%EB%90%98%EC%96%B4%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
파일이 있고 /etc/foo.conf
실제로 어떤 서비스가 사용되는지 알고 싶다고 가정해 보겠습니다 /etc/foo.conf
. 또는 호출된 서비스가 있고 foo.service
해당 서비스가 어떤 구성 파일을 사용하는지 알고 싶다고 가정해 보겠습니다 . 파일에서 해당 파일을 사용하는 서비스를 확인하거나 각 서비스가 사용하는 구성 파일을 확인하는 방법이 있습니까?
fuser
둘 중 하나가 lsof
내가 원하는 정보를 제공할 것이라고 가정합니다 . 그러나 /etc/rsyslog.conf
fusionr를 실행하면 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
아니요. 해당 파일에 대한 "소유권 정보"가 존재하지 않습니다. 대신, "서비스"는 액세스 권한이 있는 모든 파일을 열 수 있는 실행 파일일 뿐입니다. 따라서 구성을 로드하기 위해 읽을 파일을 서비스에 알려주는 것도 본질적으로 없습니다.
당신이 할 수 있는 일은 문서를 읽는 것 뿐이다.