解决Linux重启后resolv.conf重置问题

解决Linux重启后resolv.conf重置问题

Arch Wiki解决方式:

① 在/etc/NetworkManager/conf.d/文件夹中,新建dns.conf文件,并在dns.conf文件中填入如下内容:

[main]
dns=none
main.systemd-resolved=false

② 使用如下命令,重新载入 NetworkManager 服务:

# systemctl reload NetworkManager

Red Hat Customer Portal解决方式:

① 以 root 用户身份,使用文本编辑器创建包含以下内容的 /etc/NetworkManager/conf.d/90-dns-none.conf 文件:

[main]
dns=none
main.systemd-resolved=false

② 编辑 /etc/resolv.conf 文件并手动更新配置。

③ 重新载入 NetworkManager 服务:

# systemctl reload NetworkManager

注意:

重新加载服务后,NetworkManager 不再更新 /etc/resolv.conf 文件。

但是该文件的最后内容将被保留。

④ 显示 /etc/resolv.conf 文件:

# cat /etc/resolv.conf

如果您成功禁用了 DNS 处理,NetworkManager 不会覆盖手动配置的设置。

推荐解决方式:

使用如下命令将resolv.conf文件变成只读,则NetworkManager无法修改resolv.conf文件:

$ sudo chattr +i /etc/resolv.conf

提示:

可以将sudo chattr +i /etc/resolv.conf加到/etc/rc.local里面的exit 0之前的任何位置。


注意:

将三个步骤依次进行后确实未被再次修改。

若不想依次进行,可仅使用第三步骤。

<think>嗯,用户遇到了权限不够的问题,想要访问或编辑/etc/resolv.conf文件。首先,我需要回想一下Linux系统中文件权限的基本知识。用户可能需要使用sudo命令来提升权限,或者检查当前用户是否在sudoers列表中。 根据提供的引用内容,特别是引用[1]提到在Ubuntu中,直接修改/etc/resolv.conf可能会被覆盖,因为resolvconf服务会重置这个文件。所以用户可能需要通过其他方式修改DNS设置,比如编辑网络配置文件。不过用户的问题主要是权限不足,所以暂时先解决访问权限的问题。 接下来,我应该考虑几种常见的方法:使用sudo命令编辑文件,比如用sudo nano或者vim;或者更改文件的所有者和权限,但这样做可能有安全风险。需要提醒用户谨慎操作,避免系统不稳定。 另外,引用[3]提到/etc/resolv.conf的结构,说明这个文件的重要性,所以修改时需要小心。用户可能需要临时修改权限,但最好还是用正确的方法,比如通过sudo来编辑。 可能还需要检查文件当前的权限设置,使用ls -l /etc/resolv.conf查看,然后根据情况调整。但推荐的方法是使用sudo,因为直接修改权限可能影响系统服务,尤其是当resolvconf在管理这个文件的时候。 用户的问题可能涉及到不同发行版,比如Ubuntu和CentOS,根据引用[1],CentOS的配置文件路径不同,可能需要修改/etc/sysconfig/network-scripts/下的文件。但用户当前的问题是关于权限,所以重点放在权限解决方法上,而不是配置文件的永久修改。 最后,应该提醒用户如果文件被服务自动重置,可能需要按照引用中的方法去修改对应的网络配置文件,而不是直接编辑resolv.conf。但在权限问题上,主要解决方案还是使用sudo或者调整文件权限,同时注意系统差异。</think>### 分步解决方案 #### 1. 使用`sudo`命令临时提升权限 **适用场景**: 临时编辑文件且系统允许当前用户使用`sudo` ```bash sudo nano /etc/resolv.conf # 使用nano编辑器 # 或 sudo vim /etc/resolv.conf # 使用vim编辑器 ``` 输入管理员密码后即可编辑[^1][^2]。 #### 2. 修改文件权限(谨慎操作) **适用场景**: 需要长期访问该文件且系统无自动重置机制 ```bash sudo chmod 644 /etc/resolv.conf # 设置为可读可写(需评估安全风险) # 或 sudo chown $USER:$USER /etc/resolv.conf # 修改文件所有者(可能破坏系统服务) ``` ⚠️ 注意:此操作可能被`resolvconf`服务覆盖[^1][^2] #### 3. 通过配置文件永久修改(推荐) **适用场景**: 需永久修改DNS设置 - **Ubuntu/Debian**: ```bash sudo nano /etc/netplan/*.yaml # 修改网络配置文件 ``` 添加DNS配置后执行: ```bash sudo netplan apply ``` - **CentOS/RHEL**: ```bash sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 # 修改网卡配置 ``` 添加: ```bash DNS1=8.8.8.8 DNS2=8.8.4.4 ``` 重启网络服务: ```bash sudo systemctl restart NetworkManager ``` 此方法可避免直接修改`resolv.conf`[^3] #### 4. 验证文件权限状态 ```bash ls -l /etc/resolv.conf # 查看当前权限 ``` 正常输出应为: ```bash -rw-r--r-- 1 root root 216 Mar 1 10:00 /etc/resolv.conf ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值