Dnsmasq 无法访问日志文件

Dnsmasq 无法访问日志文件

我对 Linux、Ubuntu 和这个论坛都很陌生。我在虚拟机中使用 Ubuntu 20.04 作为无线接入点,遇到了一个问题,最好用代码来解释:

约翰@HomeDT~$ sudo 服务 dnsmasq 停止
[sudo] 约翰的密码:
约翰@HomeDT~$ sudo 服务 dnsmasq 启动
dnsmasq.service 的作业失败,因为控制进程退出并显示错误代码。
有关详细信息,请参阅“systemctl status dnsmasq.service”和“journalctl -xe”。
约翰@HomeDT~$ sudo systemctl status -l dnsmasq
dnsmasq.service - dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器
     已加载:已加载(/lib/systemd/system/dnsmasq.service;已启用;供应商预设:已启用)
     积极的:失败的(结果:退出代码)自 2021-01-30 星期六 22:00:31 GMT;9 秒前
    进程:7541 ExecStartPre=/usr/sbin/dnsmasq --test(代码=exited,状态=0/SUCCESS)
    进程:7542 ExecStart=/etc/init.d/dnsmasq systemd-exec(代码=已退出,状态=3)

1 月 30 日 22:00:30 HomeDT systemd[1]: 正在启动 dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器...
1 月 30 日 22:00:30 HomeDT dnsmasq[7541]: dnsmasq: 语法检查正常。
1 月 30 日 22:00:31 HomeDT dnsmasq[7542]: dnsmasq: 无法打开日志 /tmp/dnsmasq.log: 权限被拒绝
1月30日 22:00:31 HomeDT dnsmasq[7542]:无法打开日志 /tmp/dnsmasq.log:权限被拒绝
1月30日 22:00:31 HomeDT dnsmasq[7542]:启动失败
1月30日 22:00:31 HomeDT systemd[1]:dnsmasq.service:控制进程已退出,代码=exited,状态=3/NOTIMPLEMENTED
1月30日 22:00:31 HomeDT systemd[1]:dnsmasq.service:失败,结果为“退出代码”。
1月30日 22:00:31 HomeDT systemd[1]:无法启动 dnsmasq(轻量级 DHCP 和缓存 DNS 服务器)。
约翰@HomeDT~$ sudo mv /tmp/dnsmasq.log /tmp.dnsmasq.log.old
约翰@HomeDT~$ sudo 服务 dnsmasq 启动
约翰@HomeDT~$ sudo 服务 dnsmasq 状态
dnsmasq.service - dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器
     已加载:已加载(/lib/systemd/system/dnsmasq.service;已启用;供应商预设:已启用)
     积极的:活跃(运行)自 2021-01-30 星期六 22:01:02 GMT 起;13 秒前
    进程:7776 ExecStartPre=/usr/sbin/dnsmasq --test(代码=exited,状态=0/SUCCESS)
    进程:7777 ExecStart=/etc/init.d/dnsmasq systemd-exec(代码=exited,状态=0/SUCCESS)
    进程:7788 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf(代码=exited,状态=0/SUCCESS)
   主 PID:7787(dnsmasq)
      任务:1(限制:4653)
     内存:87.7M
     CGroup:/system.slice/dnsmasq.service
             └─7787 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -r /run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new ->

1 月 30 日 22:01:00 HomeDT systemd[1]: 正在启动 dnsmasq - 轻量级 DHCP 和缓存 DNS 服务器...
1 月 30 日 22:01:00 HomeDT dnsmasq[7776]: dnsmasq: 语法检查正常。
1 月 30 日 22:01:02 HomeDT systemd[1]: 启动 dnsmasq - 一个轻量级 DHCP 和缓存 DNS 服务器。

dnsmasq 无法访问的这个文件由 dnsmasq 服务创建,并具有以下权限:1

我用 Google 搜索了所有我能想到的搜索词,但找不到任何相关内容。我尝试运行我在 askubuntu 上找到的各种命令来更改文件的权限(抱歉,我不记得它们是什么了),但我所做的似乎都无济于事。

有人知道我需要做什么来解决这个问题吗?

提前致谢

答案1

我知道这个答案来得晚了,但我找到了解决方案。只需删除日志文件并重新启动 dnsmasq

rm /tmp/dnsmasq.log
systemctl restart dnsmasq

将生成一个新的日志文件

编辑:上述修复只是暂时的;下次启动 dnsmasq 时,它将再次失败。为了解决这个问题,我使用 apt 卸载了它,并从源代码编译了它

apt remove dnsmasq
cd ~/Downloads
git clone git://thekelleys.org.uk/dnsmasq.git
cd dnsmasq
make install (as root)

相关内容