我正在使用一个名为dnscrypt-proxy的DNS服务。我使用PPA将其安装在Ubuntu 18.04上。这是已安装的服务文件:
[Unit]
Description=DNSCrypt-proxy client
Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki
Requires=dnscrypt-proxy.socket
After=network.target
Before=nss-lookup.target
Wants=nss-lookup.target
[Service]
NonBlocking=true
ExecStart=/usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml
ProtectHome=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
# Run dnscrypt-proxy as unprivileged user with
# temporary assigned UID/GID. See man:systemd.exec
# for more info. Requires systemd 232+.
DynamicUser=yes
CacheDirectory=dnscrypt-proxy
LogsDirectory=dnscrypt-proxy
RuntimeDirectory=dnscrypt-proxy
[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target
而且我/etc/dnscrypt-proxy/blacklist.txt
在该dnscrypt-proxy.toml
文件中提供了一个文件路径作为黑名单,这是指向我的主目录的符号链接/home/user/.dnscrypt-proxy-config/blacklist.txt
。
我这样做的原因是blacklist.txt
来自互联网,所以我只想将其放在我的个人目录中以保持安全。
但是问题是,由于Open blacklist.txt failed: Permission denied.
不知道是哪个部分导致了此问题,因此该服务失败。
我可以确认此文件及其符号链接都至少具有xx4权限。如果我直接将该文件放到/etc/dnscrypt-proxy
目录中,它将起作用。
那么谁能告诉我根本原因是什么?如果我想遵循符号链接形式,该怎么办?
您已ProtectHome=yes
启用。
如果为true,将使目录/ home,/ root和/ run / user不可访问,并且对于此单元调用的进程而言为空。如果设置为“只读”,则这三个目录将变为只读。
要在打包的单位文件中更改此设置,
/etc/systemd/system/<name>.service
并在那里编辑(/ etc优先于/ usr / lib);/etc/systemd/system/<name>.service.d/whatever.conf
来更新所需的设置:[服务]
ProtectHome =只读
systemctl edit [--full] <name>
用作快捷方式来自动执行以上任一操作;本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句