我注意到网络管理器经常更改我的DNS服务器,所以我想在/etc/resolv.conf文件上设置不可变的位,这是行不通的。我注意到/etc/resolv.conf文件实际上是指向/run/resolvconf/resolv.conf的符号链接。
现在,sudo chattr +i /run/resolvconf/resolv.conf的结果是:
chattr: Inappropriate ioctl for device while reading flags on /run/resolvconf/resolv.conf据我所知,这意味着/run/resolvconf/不支持这些属性。是那么回事吗?
Xubuntu 15.10;
我如何写-保护我的resolv.conf文件?
发布于 2016-02-12 10:13:10
/run是一个tmpfs (ramdisk)文件系统,不支持扩展属性:
% df -T /run
Filesystem Type 1K-blocks Used Available Use% Mounted on
tmpfs tmpfs 393016 6416 386600 2% /run关于如何避免/etc/resolv.conf被NetworkManager更改,我在Arch Linux论坛中找到了一个可能的解决方案。
创建一个resolv.conf文件,其中包含您希望保存在系统中某个位置的设置(例如在/etc/resolv.conf.DNSoverride中),并将此脚本放在/etc/NetworkManager/dispatcher.d中:
#! /bin/sh
cp -f /etc/resolv.conf.DNSoverride /etc/resolv.conf脚本引用了man networkmanager:
...应该是根用户拥有的常规可执行文件。此外,它不能由组或其他,而不是setuid写。...
引用man networkmanager:
... NetworkManager将按字母顺序在/etc/NetworkManager/dispatcher.d目录或子目录中执行脚本,以响应网络事件。...
这意味着每当发生网络事件时,脚本都会复制/etc/resolv.conf.DNSoverride覆盖/etc/resolv.conf,从而覆盖对/etc/resolv.conf所做的可能更改。
https://askubuntu.com/questions/732748
复制相似问题