Е ... не всичко може да бъде игри, не ми е намерение да публикувам само публикации, говорещи за игри 😉 ... Не съм потребител, който играе много, у дома оставям това на приятелката си (който сега е закачен Симс 4), затова ме мотивира повече да публикувам повече технически статии, относно команди или съвети в терминала.
В Linux имаме някои разрешения които със сигурност решават почти всеки проблем, можем да определим кой потребител или група потребители имат достъп до определен ресурс, папка, услуга. Има обаче случаи, когато разрешенията не са точно това, от което се нуждаем, тъй като има ситуации, в които искаме дори root да не може да извърши определено действие.
Да предположим, че имаме папка или файл, които не искаме да бъдат изтрити, да тръгваме ... нито от нашия потребител, нито от друг на компютъра (хм ... приятелката ми например хаха), или дори root не може да го изтрие, как да постигна това? ... разрешенията няма да ни помогнат, защото root е the-fucking-master, той може да изтрие всичко, така че там влизат атрибутите на файла или папката.
chattr + i
Да предположим, че искаме да защитим файл, така че да не може да бъде изтрит, той е: пароли.txt , местоположението ви е (например) $ HOME / passwords.txt
За да зададете атрибут само за четене (т.е. без модификация и без изтриване), би било:
sudo chattr +i $HOME/passwords.txt
Както можете да видите, ние се нуждаем от административни разрешения за параметъра + i, което между другото, + i означава, че файлът ще бъде неизменим, знаете ли, той не може да бъде изтрит, не може да се промени по никакъв смисъл.
След това можете да опитате да изтриете файла, дори като използвате sudo ... ще видите, че няма да можете, ето екранна снимка:
За да изброим или видим атрибутите, които даден файл има, можем да използваме командата lsattr, например:
lsattr passwords.txt
След това да премахнете защитата, вместо да я използвате +i ние използваме -i и voila 😉
chattr + a
Както току-що видяхме, параметърът + i ни позволява да го защитим изцяло, но има моменти, когато имам нужда от определен файл, за да мога да бъда модифициран, НО без да променя оригиналното му съдържание. Например имам списък и искам да се добавят нови редове и информация с помощта на ехо, но без да се променят предишните, за това:
sudo chattr +a $HOME/passwords.txt
С това, нека опитаме да напишем нещо ново във файла:
echo "Prueba" > $HOME/passwords.txt
Ще забележите, че се появява грешка ... обаче, ако добавим съдържание вместо да заменим (използвайки >>, а не>):
echo "Prueba" >> $HOME/passwords.txt
Тук можем.
Край!
Знам, че някой знаещ, когато вижда, че дори с root не може да изтрие / модифицира файл, може да провери неговите атрибути ... но, ей! ... Колко пъти, когато забележите нещо подобно, спирате да мислите за атрибутите? ... Казвам това, защото като цяло просто смятаме, че HDD или неговият сектор е повреден или че системата просто е полудяла 😀
Е, няма какво още да добавите ... Мисля, че ще използвам това от +i за да спре изтеглянето на нещо, което моята приятелка изтегля ... ¬_¬ ... хм ... не искаше ли изтегляне на симс 4 Безплатно? ... Мисля, че ще ви науча на две неща относно лицензите и че те не трябва да се нарушават 😀
Поздрави!
Интересно е да се знае за този инструмент, какво ще стане, ако ми причини известно любопитство, по някакъв начин не би било нещо подобно на битови разрешения? Т.е. setuid, setgid и sticky bit? Ако не, защо? Ооо
PS: Загубих броя пъти, в които казваш моята приятелка в тази статия хахаха
Защото това също е малко, битът за неизменност и е проектиран така, че никой да не може да модифицира или изтрие файла, за който се отнася (дори корен). Използвам го например за защита срещу запис на конфигурационни файлове, което е особено полезно в дистрибуции като 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) и след като промените файл направете chattr + i /etc/resolv.conf отново, за да не се модифицира файлът при стартиране на машината.
Страхотна статия ... и между другото, приятелката ти е като жена ми, също толкова пристрастена към игрите, хахахахаха
Очевидно „шибаният майстор“ е вашата приятелка в тази ситуация. xD