Linux在不修改原service配置文件的情况下修改service参数:修订间差异
来自三线的随记
(创建页面,内容为“=== Test Envionments === # cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="ce…”) |
小无编辑摘要 |
||
第1行: | 第1行: | ||
=== Test Envionments === | ===Test Envionments=== | ||
# cat /etc/redhat-release | # cat /etc/redhat-release | ||
CentOS Linux release 7.6.1810 (Core) | CentOS Linux release 7.6.1810 (Core) | ||
第21行: | 第21行: | ||
<br /> | <br /> | ||
=== Related keys === | ===Related keys=== | ||
# Drop-In | #Drop-In | ||
# /etc/systemd/system/{servicename}.d | #/etc/systemd/system/{servicename}.d | ||
<br /> | <br /> | ||
=== 实验 === | ===实验=== | ||
systemctl status sshd | systemctl status sshd | ||
第111行: | 第111行: | ||
<br /> | <br /> | ||
=== And so on === | ===And so on=== | ||
cp /usr/lib/systemd/system/sshd.service /test.conf | cp /usr/lib/systemd/system/sshd.service /test.conf | ||
systemctl daemon-reload | systemctl daemon-reload | ||
第117行: | 第117行: | ||
sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. | sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. | ||
这个 Type 和 execStart 就跟这篇文章有关联了 [[Linux systemctl services]] | 这个 Type 和 execStart 就跟这篇文章有关联了 [[Linux systemctl services]] | ||
第122行: | 第123行: | ||
<br /> | <br /> | ||
=== 挖坑 === | ===挖坑=== | ||
两个service配置的覆写优先级等等等等 | 两个service配置的覆写优先级等等等等 | ||
第128行: | 第129行: | ||
这些是尚未知道的 | 这些是尚未知道的 | ||
[[分类:Linux]] | [[分类:Linux]] | ||
[[分类:待补坑]] | [[分类:待补坑]] |
2019年12月26日 (四) 15:24的版本
Test Envionments
# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
Related keys
- Drop-In
- /etc/systemd/system/{servicename}.d
实验
systemctl status sshd
获知 service 名字 sshd.service
[root@image-1 sshd.service.d]# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-12-19 18:41:50 CST; 6 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 6871 (sshd) CGroup: /system.slice/sshd.service └─6871 /usr/sbin/sshd -D Dec 26 14:57:34 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:00:31 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:02:54 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: 12345 Dec 26 15:03:34 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: manman:abc(8) Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
( 此 service 之前已经做过实验,所以会有一些奇怪的 warning )
然后
mkdir /etc/systemd/system/sshd.service.d
touch /etc/systemd/system/sshd.service.d/test.conf
systemctl daemon-reload
[root@image-1 sshd.service.d]# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/sshd.service.d └─test.conf Active: active (running) since Thu 2019-12-19 18:41:50 CST; 6 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 6871 (sshd) CGroup: /system.slice/sshd.service └─6871 /usr/sbin/sshd -D Dec 26 14:57:34 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:00:31 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:02:54 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: 12345 Dec 26 15:03:34 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: manman:abc(8) Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
这个时候可以发现回显结果多了一个 Drop-In 字段
然后写入到 test.conf 里面的参数就会应用到 sshd.service 中
有点意思 23333
继续
将 test.conf 内容修改
[root@image-1 sshd.service.d]# cat test.conf [Unit] Description=Just a kidding\n
systemctl daemon-reload
[root@image-1 sshd.service.d]# systemctl status sshd ● sshd.service - Just a kidding\n Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/sshd.service.d └─test.conf Active: active (running) since Thu 2019-12-19 18:41:50 CST; 6 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 6871 (sshd) CGroup: /system.slice/sshd.service └─6871 /usr/sbin/sshd -D Dec 26 14:57:34 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:00:31 image-1 systemd[1]: sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing. Dec 26 15:02:54 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: 12345 Dec 26 15:03:34 image-1 systemd[1]: [/etc/systemd/system/sshd.service.d/test.conf:3] Invalid URL, ignoring: manman:abc(8) Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
可以看到这个 services 的 Description 已经发生了改变
好玩
And so on
cp /usr/lib/systemd/system/sshd.service /test.conf systemctl daemon-reload
可以看到sshd.service有warning
sshd.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
这个 Type 和 execStart 就跟这篇文章有关联了 Linux systemctl services
To Be Continued
挖坑
两个service配置的覆写优先级等等等等
这个新加的 conf 的权限需求
这些是尚未知道的