Ну ... не все может быть играми, я не собираюсь публиковать посты только об играх 😉 ... Я не тот пользователь, который много играет, дома я оставляю это своей девушке (который сейчас зацепил Sims 4), поэтому это побуждает меня публиковать больше технических статей о командах или советах в терминале.
В Linux у нас есть разрешений которые наверняка решат практически любую проблему, мы можем определить, какой пользователь или группа пользователей имеют доступ к определенному ресурсу, папке, услуге. Однако бывают случаи, когда разрешения не совсем то, что нам нужно, поскольку есть ситуации, в которых мы хотим, чтобы даже root не мог выполнить определенное действие.
Предположим, у нас есть папка или файл, который мы не хотим удалять, поехали ... ни нашим пользователем, ни другим на компьютере (эм ... моя девушка например хаха) или даже root не может удалить, как этого добиться? ... разрешения нам не помогут, потому что root - это гребаный мастер, он сможет удалить что угодно, так что здесь появляются атрибуты файла или папки.
chattr + i
Предположим, мы хотим защитить файл, чтобы его нельзя было удалить, это: пароли.txt , ваше местоположение (например) $ HOME / passwords.txt
Чтобы установить атрибут только для чтения (то есть без изменений и без удаления), это будет:
sudo chattr +i $HOME/passwords.txt
Как видите, нам нужны права администратора для параметра + i, что, кстати, + i означает, что файл будет неизменным, вы знаете, его нельзя удалить, он не может быть изменен ни в каком смысле.
Затем вы можете попробовать удалить файл, даже используя sudo ... вы увидите, что у вас не получится, вот скриншот:
Чтобы перечислить или увидеть атрибуты файла, мы можем использовать команду лсатрнапример:
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 свободный? … Думаю, я научу вас кое-чему о лицензиях и о том, что их нельзя нарушать 😀
Привет!
Интересно узнать об этом инструменте, что, если он вызовет у меня любопытство, в каком-то смысле это не будет чем-то похожим на разрешения для битов? Т.е. setuid, setgid и sticky bit? Если нет, то почему? Оо
PS: Я сбился со счета, сколько раз ты говоришь, что моя девушка в этой статье хахаха
Это тоже бит неизменности, и он разработан так, что никто не может изменить или удалить файл, к которому он применяется (даже root). Я использую его, например, для защиты файлов конфигурации от записи, что особенно полезно в таких дистрибутивах, как Zentyal (это гораздо более быстрый способ настройки конфигурации, чем редактирование или создание шаблонов).
Комбинируя эту команду с chown, chmod и setfacl, можно добиться интересных вещей.
Во FreeBSD есть нечто подобное, которое я также использую для своего pfSense.
Хахаха, это известная фаза.
http://www.xkcd.
com / 684 /
[Доктор Боливар Траск] $ sudo chattr + i * .human
Очень хороший порядок. Я ее не знал.
Это может быть очень полезно, если у нас есть общий компьютер или если у нас есть определенный документ, над которым мы работаем, который мы не хотим удалять для всего мира.
Спасибо и всего наилучшего!
Очень интересно.
Можно ли сделать что-то подобное, чтобы ROOT не мог получить доступ к определенной папке на нашей домашней странице?
Согласно статье, с помощью этой команды даже root не может получить доступ к файлу. Думаю, то же самое относится и к папкам, поскольку в Linux папки тоже файлы, верно?
Какое совпадение. В эти выходные я попытался удалить корневой раздел, но не смог удалить файл из каталога / boot. Посмотрев, я нашел атрибуты, я, честно говоря, не знал их и теперь понимаю, что проблема разрешений и атрибутов в файле очень большая. Это одна из тех важных команд, которые мы должны знать, наряду с «chmod» и «chown».
Это чрезвычайно полезно, особенно если, например, мы хотим изменить 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, чтобы файл не изменялся при запуске машины.
Отличная статья ... и, кстати, твоя девушка похожа на мою жену, так же увлекается играми, хахахахаха
Очевидно, в этой ситуации «гребаный хозяин» - твоя девушка. xD