---
description: або chattr -i
---

# chattr +i

Команда **`sudo chattr +i /etc/resolv.conf`** встановлює атрибут **immutable (незмінний)** для файлу **`/etc/resolv.conf`**.

#### Що це означає?

* **Immutable**: Після встановлення цього атрибуту файл не можна змінювати, видаляти або перейменовувати, навіть користувачем із правами суперкористувача (root), поки цей атрибут не буде знято.

#### Чому це може бути корисно?

1. **Запобігання перезапису DNS-файлу**:
   * У багатьох системах файли, такі як `/etc/resolv.conf`, автоматично змінюються мережею або менеджерами з'єднань, наприклад `NetworkManager` або `systemd-resolved`. Якщо ви хочете зафіксувати конкретні DNS-сервери і уникнути автоматичних змін, ви можете зробити файл незмінним.
2. **Захист від випадкових змін**:
   * Це може бути корисно на сервері, щоб уникнути випадкових помилок або зловмисного втручання.

#### Приклад:

1.  Перевірка поточного вмісту файлу:

    ```bash
    cat /etc/resolv.conf
    ```
2.  Встановлення атрибуту `immutable`:

    ```bash
    sudo chattr +i /etc/resolv.conf
    ```
3.  Спроба змінити файл:

    ```bash
    echo "nameserver 1.1.1.1" > /etc/resolv.conf
    ```

    Ви отримаєте помилку:

    ```plaintext
    bash: /etc/resolv.conf: Permission denied
    ```

#### Як зняти атрибут `immutable`?

Якщо потрібно внести зміни до файлу, спочатку потрібно зняти атрибут:

```bash
sudo chattr -i /etc/resolv.conf
```

Після цього файл можна буде редагувати.

#### Важливо

* Використовуйте цей підхід лише тоді, коли ви впевнені, що налаштування DNS не потребують динамічного оновлення.
* Якщо менеджери мережі (наприклад, `NetworkManager`) виявляють проблеми через неможливість змінити файл, налаштуйте їх відповідно до ваших потреб.
