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. Перевірка поточного вмісту файлу:

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

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

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

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

    bash: /etc/resolv.conf: Permission denied

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

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

sudo chattr -i /etc/resolv.conf

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

Важливо

  • Використовуйте цей підхід лише тоді, коли ви впевнені, що налаштування DNS не потребують динамічного оновлення.

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

Last updated