chattr +i /etc/hosts
时间: 2023-08-21 11:08:32 浏览: 47
这是一个Linux命令,它的作用是将文件或目录设置为不可修改,即不能对其进行删除、重命名、修改等操作。在这个命令中,我们将 /etc/hosts 文件设置为不可修改。这个文件是用来存储主机名和IP地址之间的映射关系的,一般情况下只有系统管理员才有修改权限,因此使用 chattr +i 命令可以保护它不被修改或删除。
相关问题
chattr: Operation not supported while reading flags on /etc/resolv.conf
这个错误通常是因为 /etc/resolv.conf 文件被设置为只读。如果你想修改这个文件,可以使用以下命令:
```
sudo chattr -i /etc/resolv.conf
```
这个命令将从 /etc/resolv.conf 文件中删除不可更改的属性。然后你就可以修改这个文件了。完成修改后,你可以再次使用以下命令来将文件设置为只读:
```
sudo chattr +i /etc/resolv.conf
```
这个命令会将不可更改的属性添加回 /etc/resolv.conf 文件中,确保文件无法被意外修改。
/etc/resolv.conf 修改后重启无效
如果你修改了 `/etc/resolv.conf` 文件但重启后仍然无效,可能是因为你的系统使用了 NetworkManager 服务来管理网络配置。NetworkManager 可能会覆盖 `/etc/resolv.conf` 文件中的设置。
要让修改生效,可以尝试以下方法:
1. 使用 NetworkManager 命令行工具 nmcli 修改 DNS 配置。例如,运行以下命令将 DNS 服务器设置为 8.8.8.8:
```
nmcli con mod <connection_name> ipv4.dns "8.8.8.8"
```
其中 `<connection_name>` 是你要修改的连接的名称。
2. 将 `/etc/resolv.conf` 文件设置为只读,以防止 NetworkManager 覆盖该文件。运行以下命令:
```
sudo chattr +i /etc/resolv.conf
```
这会将 `/etc/resolv.conf` 文件设置为只读,并且只有当你使用 `sudo chattr -i /etc/resolv.conf` 命令取消只读属性后才能修改该文件。
3. 禁用 NetworkManager 服务并使用传统的网络配置方法。这种方法可能需要更多的配置和管理工作,但可以确保你的 DNS 设置不会被覆盖。
你可以通过运行以下命令禁用 NetworkManager:
```
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
```
然后,你可以使用 `/etc/network/interfaces` 文件来配置网络接口和 DNS 设置。例如,你可以添加以下行以设置 DNS 服务器:
```
dns-nameservers 8.8.8.8
```
然后,重启网络服务以使更改生效:
```
sudo systemctl restart networking
```