{"id":178,"date":"2017-03-12T20:34:19","date_gmt":"2017-03-12T19:34:19","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=178"},"modified":"2017-05-30T16:53:05","modified_gmt":"2017-05-30T14:53:05","slug":"atrybuty-plikow-i-katalogow","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/03\/12\/atrybuty-plikow-i-katalogow\/","title":{"rendered":"Atrybuty plik\u00f3w i katalog\u00f3w"},"content":{"rendered":"<p>S\u0105 pewne atrybuty, kt\u00f3re mo\u017cna przypisa\u0107 plikom i katalogom aby kontrolowa\u0107 jakie operacje mog\u0105 lub nie mog\u0105 by\u0107 wykonane na tych plikach i katalogach. Przyk\u0142adowo mo\u017cna przypisa\u0107 plikowi atrybut, kt\u00f3ry spowoduje, \u017ce \u017caden u\u017cytkownik \u0142\u0105cznie z rootem nie mo\u017ce skasowa\u0107, zmodyfikowa\u0107 tego pliku, zmieni\u0107 jego nazwy czy skompresowa\u0107 go. Takie atrybuty mog\u0105 by\u0107 ustawione na plikach i katalogach w systemie plik\u00f3w ext3, ext4 lub xfs.<!--more--><\/p>\n<table style=\"width: 568.767px;\">\n<tbody>\n<tr>\n<td style=\"width: 156px; text-align: center;\"><span style=\"color: #008000;\"><em>Atrybut<\/em><\/span><\/td>\n<td style=\"width: 395.767px; text-align: center;\"><span style=\"color: #008000;\"><em>Dzia\u0142anie<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">a (append)<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Do pliku mo\u017cna tylko dopisa\u0107 dane.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">A<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Zapobiega aktualizacji czasu dost\u0119pu do pliku.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">c (compressed)<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Plik jest automatycznie kompresowany na dysku.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">D<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Zmiany katalogu s\u0105 zapisywane synchronicznie na dysku.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">e (extend format)<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Plik u\u017cywa extent\u00f3w do mapowania blok\u00f3w na dysku.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">i (immutable)<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0Plik nie mo\u017ce by\u0107 zmieniony, skasowany, nie mo\u017ce by\u0107 zmieniona jego nazwa.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 156px;\"><span style=\"color: #3366ff;\">S (synchronous)<\/span><\/td>\n<td style=\"width: 395.767px;\">\u00a0\u00a0Zmiany pliku s\u0105 zapisywane synchronicznie na dysku.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>S\u0105 dwie komendy do zarz\u0105dzania atrybutami:<br \/>\n<code># lsatrr<\/code>\u00a0 &#8211;\u00a0 wy\u015bwietla atrybutu pliku lub katalogu.<br \/>\n<code># chattr<\/code> &#8211;\u00a0 ustawia atrybutu pliku lub katalogu.<\/p>\n<p>Aby wy\u015bwietli\u0107 aktualne atrybuty pliku file1:<\/p>\n<pre><code># lsattr file1<\/code>\r\n <code> ---------------- file1<\/code><\/pre>\n<p>Wyj\u015bcie wskazuje na to, \u017ce nie s\u0105 ustawione \u017cadne atrybuty na pliku.\u00a0 Aby pozwoli\u0107 tylko na dodawanie danych do pliku (append) u\u017cywamy komendy <code>chattr<\/code> :<\/p>\n<pre><code># chattr +a file1\r\n# lsattr file1\r\n-----a---------- file1<\/code><\/pre>\n<p>Spr\u00f3bujmy teraz wpisa\u0107 zawarto\u015b\u0107 pliku <code>\/etc\/fstab<\/code> do pliku file1:<\/p>\n<pre><code># cat \/etc\/fstab &gt; file1\r\n-bash: file1: Operation not permitted<\/code><\/pre>\n<p>Je\u017celi natomiast spr\u00f3bujemy tylko doda\u0107 co\u015b do pliku file1 to zako\u0144czy si\u0119 to powodzeniem:<\/p>\n<pre><code># cat \/etc\/fstab &gt;&gt; file1<\/code><\/pre>\n<p>Dodajmy teraz flag\u0119 niezmienno\u015bci (<em>immutable<\/em>) do tego pliku aby zabezpieczy\u0107 go przed wykasowaniem lub modyfikacj\u0105:<\/p>\n<pre><code># chattr +i file1\r\n# lsattr file1\r\n----ia---------- file1<\/code><\/pre>\n<p>Je\u017celi teraz spr\u00f3bujemy go wykasowa\u0107 otrzymamy:<\/p>\n<pre><code># rm file1\r\nrm: remove regular file `file1'? y\r\nrm: cannot remove \u2018file1\u2019: Operation not permitted<\/code><\/pre>\n<p>By usun\u0105\u0107 oba atrybuty:<\/p>\n<pre><code># chattr \u2013ia file1<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>S\u0105 pewne atrybuty, kt\u00f3re mo\u017cna przypisa\u0107 plikom i katalogom aby kontrolowa\u0107 jakie operacje mog\u0105 lub nie mog\u0105 by\u0107 wykonane na tych plikach i katalogach. Przyk\u0142adowo mo\u017cna przypisa\u0107 plikowi atrybut, kt\u00f3ry spowoduje, \u017ce \u017caden u\u017cytkownik \u0142\u0105cznie z rootem nie mo\u017ce skasowa\u0107, zmodyfikowa\u0107 tego pliku, zmieni\u0107 jego nazwy czy skompresowa\u0107 go. Takie atrybuty mog\u0105 by\u0107 ustawione na &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/03\/12\/atrybuty-plikow-i-katalogow\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Atrybuty plik\u00f3w i katalog\u00f3w&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1090,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/178"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=178"}],"version-history":[{"count":17,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":1301,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions\/1301"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1090"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}