Всем привет
Значит поговорим мы сегодня о том, как поставить атрибут на файл только чтение, то есть чтобы файл можно было только прочитать. Ничего записывать в него не получится, если стоит такой атрибут.
Значит для чего вообще эта штука может понадобится? Честно говоря я не знаю где это может быть нужно, но вот например файл hosts (это системный важный файл, находится тут: %SystemRoot%system32driversetc) имеет атрибут только для чтения и это сделано в целях безопасности, чтобы в этот файл ничего нельзя было записать. Хотя я не уверен насколько это сильная защита. В общем еще раз, если поставить атрибут только для чтения, то файл можно будет ТОЛЬКО считать с диска, записать в него ничего уже не получится. Ну, надеюсь что все понятно
На системном диске C: я создал для теста пустой текстовый файл test.txt, сейчас я покажу как поставить этому файлу атрибут только для чтения. Итак, смотрите, вот сам файл:
Теперь нужно зайти в его свойства, для этого нажимаете правой кнопкой по нему и там выбираете в менюхе последний пункт Свойства:
Потом появится окошко Свойства, вот в этом окошке вам нужно поставить галочку на только чтение:
Все, потом нажимаете ОК и все, у вас файл уже будет только для чтения. Ну что, сложно? Вот и я думаю что нет! Теперь смотрите, вот я его открыл и написал там слово:
Теперь я его закрываю, то есть нажимаю на крестик, появляется такое сообщение:
Ну, я тут нажал кнопку Сохранить… И вот ребята, из-за того что стоит атрибут только для чтения, то у меня выскочило такое окошко:
Это чтобы сохранить изменения. Но сохранить можно только в другом файле, ведь в свойствах test.txt стоит атрибут только для чтения, понимаете что это за прикол? Но самое интересное, что если я в этом окошке выберу файл test.txt, и нажму кнопку Сохранить, ну чтобы его перезаписать, то у меня сперва появилось такое сообщение:
Ну я там нажал Да, но потом все равно мне было сказано, что ничего не получится у меня, ибо этот файл доступен только для чтения, вот смотрите, вот это сообщение:
Ну то есть я думаю что вам все понятно, да? Если стоит атрибут только для чтения, то в файл реально ничего нельзя записать, все работает
Но можно задать атрибут и очень крутым способом, это при помощи командной строки! Я об этом напишу сейчас, вдруг вам пригодится то, а? Ну а вдруг? В общем смотрите, сначала вызываем командную строку, то есть зажимаем кнопки Win + R и пишем в окошке Выполнить такую команду:
Потом нажали ОК, после чего появится вот такое черное окно, это и есть командная строка:
А вот и команда, которая нужна чтобы задать атрибут:
Чтобы узнать как она работает, то в командной строе нужно так набрать:
Потом нажать энтер и у вас будет такой результат:
Немного непонятно? Понимаю, вот поэтому пишу, что для того чтобы через командную строку установить атрибут для файла только чтение, то нужно написать вот такую команду:
ATTRIB +R C: est.txt
Я вот тоже сейчас попробую задать атрибут через командную строку, вот я вставил команду:
Нажал потом энтер и вот результат:
То есть результата то и по сути нету! Думаете ошибка? Нет ребята, это не ошибка, это как раз таки ее отсутствие, а значит все прошло нормалек. Я потом проверил, таки да, атрибут только чтение установился. Вы мне скажите, йолки палки, да ведь ты его уже выше поставил вручную! Нет ребята, я перед тем как поставить его через командную строку, то я пошел в свойства и снял галочку! Так что тут все четко
Теперь, основываясь на этой команде, можно сделать и другие. Ну вот например буква R это атрибут для чтения, верно? Ну вот, а буква A это атрибут архивный, буква S это системный, буква H это скрытый, буква I задает атрибут неиндексированное содержимое, ну то есть чтобы этот файл не индексировался там где-то, короче это типа для того чтобы поиск был быстрый и все такое, думаю вы поняли. Ну и ключи там еще есть всякие как видите. Но как пользоваться ключами и вообще как например задать атрибут сразу нескольким файлам? Тут тоже все просто! Я создал папку test, в ней есть файл test.txt и еще одна папка test, в которой тоже есть файл test.txt, ну вот так я сделал, но зачем? Это ребятки для примера, теперь как сделать так, чтобы в папке test все что внутри имело атрибут… ну пусть будет скрытый. Как? Очень просто, нужно написать в командную строку вот эту команду:
ATTRIB +H C: est*.* /S /D
Вот такая вот команда ребята! Я только что проверил, все работает, это правильная команда. В итоге у меня в папке test было все пусто, потому что все файлы и папки были скрыты, а у меня отключен показ скрытых файлов и папок. Но давайте немного разберемся с командой, что я там написал? Буква H (наверно от слова Hidden) указывает, что нужно задавать атрибут скрытый. Потом идет путь к папке, а в конце пути идет такое:
Вы наверно подумаете, что за дичь? А это означает что в папке нужно обрабатывать все файлы, которые имеют название * и расширение *, но сами эти звездочки, то они означают как бы любое значение. Вообще эти звездочки это называется типа маска, ну есть такое. Дальше идет такое как /S, это означает что обрабатывать нужно все файлы с указанным именем, а так как мы указали *.*, то обработаны будут все файлы. Ну и чтобы еще были обработаны папки, то для этого я добавил ключ /D, ну что ребята, все понятно или я тут немного запутано все написал? Ну, надеюсь что все таки вам тут все понятно!
Ой, еще самое главное забыл вам написать, вы в команде видите плюсик? Ну так вот, тот плюсик, это чтобы УСТАНОВИТЬ атрибут! А чтобы СНЯТЬ атрибут то нужно ставить МИНУС! Вот блина, как я мог забыть и не написать об этом? Капец!
Ребята, на этом все. Опять же скажу, что надеюсь что все вам тут было понятно, ну а если что-то не так, ну то уж извините, что я могу поделать, я видимо как-то странно обьясняю.. Удачи вам в жизни и чтобы у вас всегда было отличное настроение
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Атрибут файла (англ. file attribute ) — метаданные, которые описывают файл. Атрибут может находиться в двух состояниях: либо установленный, либо снятый. Атрибуты рассматриваются отдельно от других метаданных, таких как даты, расширения имени файла или права доступа. Каталоги и другие объекты файловой системы также могут иметь определённые атрибуты. Также существуют расширенные атрибуты файлов, хранящие данные другого типа.
Содержание
Разновидности [ править | править код ]
DOS и Microsoft Windows [ править | править код ]
В операционных системах DOS и Microsoft Windows существуют четыре атрибута: [1] [2] [3]
- Архивный (A): Когда этот атрибут установлен, это означает, что файл был изменён со времени проведения последнего резервного копирования. ПО, с помощью которого выполняется резервное копирование, также отвечает за снятие этого атрибута.
- Скрытый (H): Файл с установленным атрибутом считается скрытым. Это означает, что команды MS-DOS (dir) и программы Windows (такие как Проводник) по умолчанию не будут отображать этот файл, если не включён специальный режим [4] .
- Системный (S): Файл с установленным атрибутом считается системным — таким, существование которого в неизменённом виде критически важно для нормальной работы системы. По умолчанию команды MS-DOS (dir) и программы Windows (такие как Проводник) не будут отображать этот файл, если не включён специальный режим.
- Только чтение (R): Установленный атрибут означает, что содержимое файла нельзя изменять. Как правило, программы для Windows игнорируют этот атрибут, если он установлен для каталогов [5] .
С выходом новых версий системы Windows в NTFS появились дополнительные атрибуты:
- Сжатый (Compressed, C). Установленный атрибут означает, что Windows сохраняет этот файл на диске в сжатом виде.
- Зашифрованный (Encrypted, E). Установленный атрибут означает, что Windows хранит этот файл на диске в зашифрованном виде.
- Проиндексированный (Indexed, I). Означает, что соответствующие подсистемы Windows не будут включать содержимое файла в поисковый индекс.
4.4BSD-Lite и производные от неё системы [ править | править код ]
В 4.4BSD и 4.4BSD-Lite файлы и каталоги могут получить четыре атрибута, которые устанавливаются владельцем файла или пользователем с повышенными правами (отмеченные как «User»). Еще два атрибута могут устанавливаться только пользователем с повышенными правами («System»). [6]
- (User) No-dump: Установленный атрибут означает, что файл или каталог не должен копироваться во время резервного копирования.
- (User and System) Immutable: Означает, что файл или каталог могут оставаться неизменными. Будут блокированы попытки открытия файла для записи, попытки переименовать его, переименовать или создать новый файл в каталоге.
- (User and System) Append-only: К файлу можно только добавлять информацию.
- (User) Opaque: Используется определённая особенность монтирования файловых систем в ОС.
В FreeBSD ещё появился следующий атрибут [7] (также поддерживается в DragonFly BSD): [8] :
- (User and System) No-unlink: Означает, что файл или каталог нельзя удалять. Попытки сделать это закончатся сообщением про ошибку доступа.
FreeBSD также поддерживает: [7]
- (System) No-archive: установленный атрибут означает, что файл или каталог нельзя архивировать (средствами файловой системы).
- (System) Snapshot: Файл принадлежит к специальному типу файлов, обрабатываемых системой. Этот атрибут устанавливается только системой, даже пользователь с повышенными правами не может его изменить.
Кроме того, DragonFly BSD поддерживает: [8]
- (User and System) No-history: История изменений не должна сохраняться для данного файла или каталога.
- (User) Swapcache и (System) Swapcache: Определяет уверенные особенности работы с SSD.
- (System) Archived: Противоположное к No-archive.
NetBSD [9] и OpenBSD: [10] также поддерживают (System) Archived.
В OS X был добавлен ещё один атрибут [11]
- (User) Hidden: Означает, что по умолчанию файл с таким атрибутом не будет отображаться средствами графического интерфейса, хотя команда ls всё равно будет показывать его.
В Solaris для ZFS также существуют атрибуты:
- av_quarantined: Доступ к файлу ограничен до снятия карантина антивируса.
- av_modified: Означает, что текущая версия файла не проверена антивирусом.
Изменение значения атрибута [ править | править код ]
В DOS, OS/2 и командной строке Windows, атрибуты файла могут быть изменены командой attrib [3] [12] С помощью Проводника Windows также можно изменять некоторые атрибуты, но не атрибут «системный» [5] Windows PowerShell имеет пару команд для чтения/записи атрибутов: Get-ItemProperty та Set-ItemProperty . [13]
В 4.4BSD и её наследниках для просмотра атрибутов используется команда ls , а для изменения — chflags .
В Linux используются команды chattr для изменения и lsattr для просмотра атрибутов.
В Solaris используются команды chmod для изменения и ls для просмотра атрибутов.
В большинстве случаев пользователь должен иметь соответствующие права доступа для изменения атрибута.
И так проблема – стояла себе Win7, и было в ней всё хорошо, но давно стояла, г*вна в реестре куча былаи т. д. Решил я её переставить, и после переусановки вышел странный у меня конфуз, а имено.
У файлапапок диска D (не системного. ) стоит атрибут "только чтение" и хоть ты убейся -не убирается. Становился владельцем всего этого добра – всё равно. Скидывал владельца на группу "Администраторы", "система" и т. д. Результата нет. В чем прикол?
З. Ы. Вирусную и т. д активность исключаю как класс, ссылку на подобный сабж у мелкмягких НЕ ДАВАТЬ, НЕ ТОТ СЛУЧАЙ. Спасибо за внимание.
http://support.microsoft.com/kb/326549/ru
В отличие от атрибута «Только чтение» файла, атрибут «Только чтение» папки в операционной системе Windows, ее компонентах и программах обычно игнорируется. Например, можно удалить, переименовать и изменить папку с атрибутом «Только чтение» с помощью проводника Windows. Атрибуты «Только чтение» и «Системный» используются проводником Windows только для того, чтобы определить, является ли папка специальной, например системной, что означает, что ее вид настроен в Windows (например, папка «Мои документы» , «Избранное» , «Fonts» и «Downloaded Program Files»), или папкой, настроенной с помощью вкладки Настройка диалогового окна Свойства папки. В результате в проводнике Windows не разрешается изменять такие атрибуты папки, как «Только чтение» и «Системный» .
Для устранения этой неполадки введите в командной строке (Cmd.exe) команду Attrib, чтобы просмотреть или удалить атрибуты «Только чтение» и «Системный» . Чтобы ознакомиться с синтаксисом команды Attrib, введите в командной строке attrib /?.
Предупреждение. При удалении атрибутов папки «Только чтение» и «Системный» она будет выглядеть как обычная папка и некоторые настройки папки могут быть утеряны. Например, в Windows выполнена настройка папки Fonts, в результате чего она имеет специальный вид, позволяющий скрыть полужирное и курсивное начертание. Кроме того, разрешается изменить параметры вида папки в соответствии с различными шрифтами. При удалении атрибутов «Только чтение» и «Системный» папки Fonts эти настроенные параметры вида станут недоступными. Для папок, настроенных с помощью вкладки Настройка диалогового окна Свойства папки, значок папки и другие настройки могут быть утеряны при удалении атрибута «Только чтение» .
Если с помощью программы не удается сохранить файлы в папку, имеющую атрибут «Только чтение» , такую как «Мои документы» , измените атрибут «Только чтение» на «Системный» с помощью команды Attrib командной строки.