systemdの設定ファイル

systemdの設定ファイルは/etc/systemd/systemや、/usr/lib/systemd/systemなど複数箇所に配置されている可能性がある。
サービス名がわかっていてもサービスの設定ファイルを探すには全ての候補を探す必要がある。

systemctl cat コマンド

systemctl catコマンドを使うとファイルパスを指定せずにサービス名で設定ファイルの内容を確認できる。

$ systemctl cat sshd.service
# /lib/systemd/system/ssh.service
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755

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

# /usr/lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
[Service]
ExecStart=
ExecStart=/usr/sbin/sshd -D -o "AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f" -o "AuthorizedKeysCommandUser ec2-instance-connect" $SSHD_OPTS

#から始まる行で設定ファイルの場所を表示している。

上記では特に以下の2箇所に設定ファイルが存在している。

# /lib/systemd/system/ssh.service
# /usr/lib/systemd/system/ssh.service.d/ec2-instance-connect.conf