chattr: Максимальная защита файлов / папок в Linux с помощью атрибутов или флагов

Ну ... не все может быть играми, я не собираюсь публиковать посты только об играх 😉 ... Я не тот пользователь, который много играет, дома я оставляю это своей девушке (который сейчас зацепил Sims 4), поэтому это побуждает меня публиковать больше технических статей о командах или советах в терминале.

В Linux у нас есть разрешений которые наверняка решат практически любую проблему, мы можем определить, какой пользователь или группа пользователей имеют доступ к определенному ресурсу, папке, услуге. Однако бывают случаи, когда разрешения не совсем то, что нам нужно, поскольку есть ситуации, в которых мы хотим, чтобы даже root не мог выполнить определенное действие.

Предположим, у нас есть папка или файл, который мы не хотим удалять, поехали ... ни нашим пользователем, ни другим на компьютере (эм ... моя девушка например хаха) или даже root не может удалить, как этого добиться? ... разрешения нам не помогут, потому что root - это гребаный мастер, он сможет удалить что угодно, так что здесь появляются атрибуты файла или папки.

chattr + i

Предположим, мы хотим защитить файл, чтобы его нельзя было удалить, это: пароли.txt , ваше местоположение (например) $ HOME / passwords.txt

Чтобы установить атрибут только для чтения (то есть без изменений и без удаления), это будет:

sudo chattr +i $HOME/passwords.txt

Как видите, нам нужны права администратора для параметра + i, что, кстати, + i означает, что файл будет неизменным, вы знаете, его нельзя удалить, он не может быть изменен ни в каком смысле.

Затем вы можете попробовать удалить файл, даже используя sudo ... вы увидите, что у вас не получится, вот скриншот:

чаттр_1

Чтобы перечислить или увидеть атрибуты файла, мы можем использовать команду лсатрнапример:

lsattr passwords.txt

Затем для снятия защиты вместо использования +i мы используем -i и вуаля

chattr + a

Как мы только что видели, параметр + i позволяет нам полностью защитить его, но были времена, когда мне нужно было изменить определенный файл, НО без изменения его исходного содержимого. Например, у меня есть список, и я хочу, чтобы новые строки и информация добавлялись с помощью эха, но без изменения предыдущих, для этого:

sudo chattr +a $HOME/passwords.txt

После этого давайте попробуем записать в файл что-нибудь новое:

echo "Prueba" > $HOME/passwords.txt

Вы заметите, что появляется ошибка ... однако, если мы добавим контент вместо замены (используя >>, а не>):

echo "Prueba" >> $HOME/passwords.txt

Здесь мы можем.

Конец!

Я знаю кого-то знающего, когда они видят, что даже с root не может удалить / изменить файл, может проверить его атрибуты ... но, эй! … Сколько раз, замечая что-то подобное, вы задумываетесь об атрибутах? ... Я говорю это, потому что обычно мы просто думаем, что жесткий диск или его сектор повреждены, или что система просто сошла с ума 😀

Ну тут особо нечего добавить ... Думаю, воспользуюсь этим из +i чтобы остановить скачивание того, что скачивает моя девушка ... ¬_¬ ... эм ... разве она не хотела скачать sims 4 свободный? … Думаю, я научу вас кое-чему о лицензиях и о том, что их нельзя нарушать 😀

Привет!


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   прекратить сказал

    Интересно узнать об этом инструменте, что, если он вызовет у меня любопытство, в каком-то смысле это не будет чем-то похожим на разрешения для битов? Т.е. setuid, setgid и sticky bit? Если нет, то почему? Оо

    PS: Я сбился со счета, сколько раз ты говоришь, что моя девушка в этой статье хахаха

    1.    Хьюго сказал

      Это тоже бит неизменности, и он разработан так, что никто не может изменить или удалить файл, к которому он применяется (даже root). Я использую его, например, для защиты файлов конфигурации от записи, что особенно полезно в таких дистрибутивах, как Zentyal (это гораздо более быстрый способ настройки конфигурации, чем редактирование или создание шаблонов).

      Комбинируя эту команду с chown, chmod и setfacl, можно добиться интересных вещей.

      Во FreeBSD есть нечто подобное, которое я также использую для своего pfSense.

    2.    Джон сказал

      Хахаха, это известная фаза.
      http://www.xkcd.
      com / 684 /

  2.   Niandekuera сказал

    [Доктор Боливар Траск] $ sudo chattr + i * .human

  3.   Tesla сказал

    Очень хороший порядок. Я ее не знал.

    Это может быть очень полезно, если у нас есть общий компьютер или если у нас есть определенный документ, над которым мы работаем, который мы не хотим удалять для всего мира.

    Спасибо и всего наилучшего!

  4.   Луис сказал

    Очень интересно.

    Можно ли сделать что-то подобное, чтобы ROOT не мог получить доступ к определенной папке на нашей домашней странице?

    1.    Tesla сказал

      Согласно статье, с помощью этой команды даже root не может получить доступ к файлу. Думаю, то же самое относится и к папкам, поскольку в Linux папки тоже файлы, верно?

  5.   Хоакин сказал

    Какое совпадение. В эти выходные я попытался удалить корневой раздел, но не смог удалить файл из каталога / boot. Посмотрев, я нашел атрибуты, я, честно говоря, не знал их и теперь понимаю, что проблема разрешений и атрибутов в файле очень большая. Это одна из тех важных команд, которые мы должны знать, наряду с «chmod» и «chown».

  6.   Агуатемала сказал

    Это чрезвычайно полезно, особенно если, например, мы хотим изменить DNS по умолчанию нашего соответствующего интернет-провайдера, и именно тогда мы должны изменить файл /etc/resolv.conf, и для этого мы должны выполнить chattr -i / etc / resolv.conf, измените IP-адреса нашего бесплатного и / или бесплатного DNS (например, OpenDNS 208.67.222.222 и 208.67.220.220 или Google 8.8.8.8 и 8.8.4.4) и после изменения file redo chattr + i /etc/resolv.conf, чтобы файл не изменялся при запуске машины.
    Отличная статья ... и, кстати, твоя девушка похожа на мою жену, так же увлекается играми, хахахахаха

  7.   сырьеBasic сказал

    Очевидно, в этой ситуации «гребаный хозяин» - твоя девушка. xD