Что определяет атрибуты файлов и каким образом их можно просмотреть и изменить
Иногда по самым разным причинам пользователям ОС Windows требуется поменять некоторые атрибуты одного или нескольких файлов. В этой статье вы узнаете, как их менять. Скриншоты сделаны на ОС Windows 7, но во всех остальных версиях Windows принцип действия практически тот же.
p, blockquote 1,0,0,0,0 -->
Следует отметить, что наличие и принцип работы некоторых атрибутов файлов может зависеть от вашей файловой системы. В рядовых ситуациях с обычными, простенькими атрибутами, типо атрибутов скрытия или сжатия все просто. Посмотреть и поменять стандартные атрибуты файлов и его объем можно нажав на файле ПКМ и войдя в его «Свойства».
p, blockquote 2,0,0,0,0 -->
А теперь перейдем к более близкому знакомству с ними.
p, blockquote 3,0,0,0,0 -->
В Total Commander
Для того, чтобы снять у файла атрибуты Скрытый, Системный с помощью файлового менеджера Total Commander:
Исчезли файлы на флешке
Приносят мне флешку, с которой нужно сбросить документ. Флешка открывается, а на ней ничего нет! Благо я уже сталкивался с подобной ситуацией и даже демонстрировал подобный эффект ученикам, когда вёл кружок в школе. А вот на неподготовленных коллег это событие произвело не самое приятное впечатление.
Я попросил не паниковать. Вызвав свойства флешки и убедившись, что она не пуста (определённый процент места на ней был занят данными), я открыл её при помощи файлового менеджера и увидел на месте все файлы, которые отображались как полупрозрачные – то есть скрытые:
Вся "беда" в том, что каждый файл в Windows, помимо привычных нам характеристик, вроде, имени, расширения или размера, имеет ещё целый ряд не совсем очевидных свойств. Одними из них являются атрибуты. Самих атрибутов немного, но они влияют на работу системы с файлами.
В нашем случае, например, атрибуты "системный" и "скрытый" приводят к визуальному "исчезновению" файла из Проводника, если в "Свойствах папок" (Панель управления или меню "Вид" любой папки) не активна опция "Показывать скрытые файлы, папки и диски" и включен флажок "Скрывать защищённые системные файлы", как это обычно стоит по умолчанию:
С причиной разобрались, а вот как вернуть файлам нормальные атрибуты, чтобы их стало видно и в Проводнике? Проблема в том, что атрибут "скрытый" в Свойствах файла отображается, но снять его нельзя, поскольку флажок неактивный.
Если у Вас есть Total Commander или иной подобный файловый менеджер, то Вы можете вызвать редактор атрибутов из меню "Файл". Однако, на мой взгляд, для этих целей удобнее использовать Командную строку! Нажмите на клавиатуре сочетание клавиш "WIN+R", в строке "Выполнить" введите без кавычек "cmd" и нажмите Enter. В открывшемся окошке Консоли вводим команду "attrib" вида:
attrib -r -a -s -h (снятие всех основных атрибутов) H:\*.* (путь к папке и маска имён файлов, выбирающая всё содержимое указанного каталога) /s /d (дополнительные ключи команды, позволяющие сбросить атрибуты файлов в папках и подпапках)
После выполнения команды все файлы и папки на флешке должны появиться в нормальном виде, что нам и было нужно :) Для тех же, кому важен не только результат, но и понимание, откуда и что берётся, предлагаю разобраться с атрибутами более детально.
Еще полезные примеры ls
Вывод файлов по дате изменения, вверху будут самые новые файлы
Вывод файлов по дате изменения, вверху будут самые старые файлы
Отсортировать файлы по размеру
Вывести список только каталогов:
Вам будет интересно
Многие пользователи рано или поздно задумываются над безопасностью данных на компьютере. Особенно если оберегать их требуется…
Здравствуйте, дорогие посетители. Сегодня расскажу про изменение привычного внешнего вида курсора мыши на новый. Тема…
Приветствую Вас, друзья! Хочется поделиться с Вами своим маленьким секретом по работе в программе для…
Здравствуйте друзья! В этом статье я вам расскажу, как изменить язык в SonyVegaspro11, 12, и…
Файловую систему (ФС) невозможно представить без такого важного её компонента, как атрибуты файлов. С технической точки зрения такое, конечно же, возможно, однако это было бы абсолютно бессмысленно. Поскольку не отвечало бы даже далеко не самым «строгим» требованиям для обеспечения безопасности, надёжности и масштабируемости. Поскольку вся работа с операционными системами Linux «завязана» на ФС. То становится очевидным то, как важно уметь её (ФС) понимать. Атрибуты файлов — это, образно выражаясь, «язык», на котором «общаются» между собой, собственно ФС и пользователи (особенно системные администраторы) систем Linux.
Как правильно интерпретировать вывод команды ls?
Первое, что может ввести в заблуждение при изучении вывода команды ls -l, так это первая секция данных. Состоящая из набора десяти символов и показывающая режимы доступа к файлу. Для вышеприведённого примера первый символ «-» указывает, что это файл. А в случае с каталогом вместо него выводится символ «d». Следующие девять символов представляют собой три группы, отражающих режимы доступа к файлу. Первая группа (первые три символа «rwx») показывают, какие права доступа выставлены на данный файл для его владельца. Следующая группа символов — «r-x» — показывает режим доступа для группы, к которой принадлежит файл. Ну а третья («r-x») — права доступа для всех остальных пользователей.
В полях, отображающих владельца и группу вместо символьных имён могут быть также и цифровые идентификаторы. Такое бывает, когда соответствующие записи были удалены из файлов /etc/passwd или /etc/group. Также это может быть признаком возникновения ошибки в базах данных LDAP или NIS. Конечно, если таковые используются.
Следует также понимать, что время последнего изменения файла на самом деле отражает не время редактирования его содержимого, например, а время изменения одного или нескольких из его атрибутов.
Решение для Windows XP
Как это работает?
Для записи кода режима доступа используется восьмеричная запись чисел. Как уже было отмечено, код доступа содержит три «триады» битов — для пользователя, группы и всех остальных, именно в таком порядке. Битам из первой триады соответствуют значения в восьмеричной записи 400, 200 и 100. Для второй триады (т. е. для группы) — 40, 20 и 10. Наконец, для третьей (все остальные) — 4, 2 и 1. В свою очередь, первому биту в каждой триаде соответствует доступ на чтение (r — «read»). Второму — на запись (w — «write») и третьему — на выполнение, т. е. x — «execute».
В традиционной модели прав доступа UNIX предполагается, что каждый пользователь «заперт» в пределах всего одной категории (триады). Это означает, что для неоднозначной ситуации применяются самые строгие права. Например, право на владение всегда определяется только битами из триады владельца. И никак и никогда группой или другими пользователями.
Установка бита чтения (r) в одной из триад (или во всех) задаёт право открывать данный файл для чтения соответствующим категориям пользователей. Наличие бита записи (w) позволяет изменять файл. При этом возможно его удаление и/или переименование файла, но только в том случае, если заданы соответствующие биты для его родительского каталога, поскольку именно в его записях хранятся имена файлов.
Установка бита запуска позволяет, собственно, запускать файл на выполнение. Такие файлы называются «исполняемыми». Исполняемых файлов существует две разновидности: бинарные — исполняемые центральным процессором, а также сценарии или скрипты, исполняемые командным интерпретатором. В последнем случае это обычный текстовый файл, но для того, чтобы интерпретатор мог определить, с кем «имеет дело», в самое начало таких файлов помещаются специальные инструкции, вроде такой:
В данном примере указывается, что файл является сценарием для выполнения интерпретатором Perl. Вместо perl может быть указан любой другой интерпретатор, например bash или sh.
Когда бит выполнения устанавливается для каталога. То это означает, что в данный каталог разрешён переход, либо разрешён доступ к файлу через данный (транзитом, так сказать) каталог. Но без получения списка подкаталогов и всего содержимого каталога. Для того, чтобы получить содержимое какого-либо каталога. Необходимо, чтобы для него вместе с битом выполнения был установлен также и бит чтения.
chattr — программа для установки и изменения файловых атрибутов
chattr изменяет атрибуты файлов в файловой системе Linux.
Формат символьного режима: +-=[aAcCdDeFijmPsStTux].
Оператор «+» вызывает добавление выбранных атрибутов к существующим атрибутам файлов; «-» заставляет их удалить; и «=» делает их единственными атрибутами файлов.
Буквы «aAcCdDeFijmPsStTux» выбирают новые атрибуты для файлов:
- только добавление (a),
- без обновлений времени (A),
- сжатие (c),
- без копирования при записи (C),
- без дампа (d),
- синхронные обновления каталогов (D),
- формат экстента (e),
- поиск в каталогах без учёта регистра (F),
- неизменяемый (i),
- ведение журнала данных (j),
- без сжатия (m),
- иерархия проекта (P),
- безопасное удаление (s),
- синхронные обновления (S),
- без слияния хвостов (t),
- вершина иерархии каталогов (T),
- возможность восстановления после удаления (u)
- и прямой доступ к файлам (x).
Следующие атрибуты доступны только для чтения и могут быть перечислены lsattr, но не могут быть изменены chattr:
Не все флаги поддерживаются или используются всеми файловыми системами; обратитесь к страницам руководства, относящимся к файловым системам, таким как btrfs, ext4 и xfs для получения дополнительных сведений о файловых системах.
Следующая команда сделает файл test.txt заблокированным для удаления, изменения, перемещения (i):
Причём даже добавление sudo к командам удаления и перемещения не поможет, этот файл будет невозможно изменить и удалить до тех пор, пока не будет удалён атрибут «i».
Смотрите также: Что такое sudo
Следующая команда удаляет атрибут «i»:
Если в качестве цели изменения параметров вы выбрали директории, то опция -R сделает так, что атрибуты будут рекурсивно изменены и для содержимого директорий.
Какие бывают основные атрибуты файла?
В операционной системой Windows пользователи могут увидеть, что существует разделение на четыре основных типа. Познакомимся с этими видами атрибутов, которыми могут обладать любые файлы и, частично, папки.
p, blockquote 4,0,0,0,0 -->
Скрытый
Скрытый атрибут «Н» помогает сделать объекты невидимыми, но при этом они не будут отмечаться в качестве системных. Пользователи, таким образом, могут попробовать скрыть любые файлы и папки, чтобы в дальнейшем в Проводнике они никак не отображались.
p, blockquote 11,0,0,0,0 -->
Список файловых атрибутов в Linux
Различают следующие виды расширенных атрибутов.
a
Файл с установленным атрибутом «a» можно открыть только в режиме добавления для записи. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.
A
При доступе к файлу с установленным атрибутом «A» его запись atime не изменяется. Это позволяет избежать определённого количества дисковых операций ввода-вывода для портативных систем.
c
Файл с установленным атрибутом «c» автоматически сжимается на диске ядром. При чтении из этого файла возвращаются несжатые данные. Запись в этот файл сжимает данные перед их сохранением на диске. Примечание: обязательно прочтите об ошибках и ограничениях в конце этого раздела. (Примечание: для btrfs: если установлен флаг «c», то нельзя установить флаг «C». Также конфликтует с параметром монтирования btrfs «nodatasum»)
C
Файл с установленным атрибутом «C» не подлежит обновлению «копирование при записи». Этот флаг поддерживается только в файловых системах, которые выполняют копирование при записи. (Примечание: для btrfs флаг «C» должен быть установлен для новых или пустых файлов. Если он установлен для файла, который уже имеет блоки данных, он не определён, когда блоки, назначенные файлу, будут полностью стабильными. Если для каталога установлен флаг «C», он не повлияет на каталог, но для новых файлов, созданных в этом каталоге, будет установлен атрибут No_COW. Если установлен флаг «C», то флаг «c» не может быть установлен. установленный.)
d
Файл с установленным атрибутом «d» не является кандидатом для резервного копирования при запуске программы dump.
D
При изменении каталога с установленным атрибутом «D» изменения синхронно записываются на диск; это эквивалентно опции монтирования dirsync, применяемой к подмножеству файлов.
e
Атрибут «e» указывает, что файл использует экстенты для отображения блоков на диске. Его нельзя удалить с помощью chattr.
E
Файл, каталог или символическая ссылка с установленным атрибутом «E» зашифрованы файловой системой. Этот атрибут нельзя установить или сбросить с помощью chattr, хотя он может быть отображён с помощью lsattr.
F
Директория с установленным атрибутом «F» указывает, что все поиски путей внутри этого каталога выполняются без учёта регистра. Этот атрибут можно изменить только в пустых каталогах в файловых системах с включённой функцией casefold.
i
Файл с атрибутом «i» не может быть изменён: его нельзя удалить или переименовать, нельзя создать ссылку на этот файл, большую часть метаданных файла нельзя изменить, и файл нельзя открыть в режиме записи. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.
I
Атрибут «I» используется кодом htree, чтобы указать, что каталог индексируется с использованием хешированных деревьев. Его нельзя установить или очистить с помощью chattr, хотя его можно отобразить с помощью lsattr.
j
Файл с атрибутом «j» имеет все данные, записанные в журнал ext3 или ext4 перед записью в сам файл, если файловая система смонтирована с параметрами «data=ordered» или «data=writeback» и файловая система имеет журнал. Если файловая система смонтирована с параметром «data=journal», все данные файла уже занесены в журнал, и этот атрибут не действует. Только суперпользователь или процесс, обладающий возможностью CAP_SYS_RESOURCE, может установить или очистить этот атрибут.
m
Файл с атрибутом «m» исключается из сжатия в файловых системах, которые поддерживают сжатие файлов.
N
Файл с установленным атрибутом «N» указывает, что файл содержит данные, хранящиеся внутри самого inode. Его нельзя установить или очистить с помощью chattr, хотя его можно отобразить с помощью lsattr.
P
Директория с установленным атрибутом «P» будет обеспечивать иерархическую структуру для идентификаторов проектов. Это означает, что файлы и каталоги, созданные в директории, будут наследовать идентификатор проекта каталога, операции переименования ограничены, поэтому, когда файл или каталог перемещается в другой каталог, идентификаторы проекта должны совпадать. Кроме того, жёсткая ссылка на файл может быть создана только в том случае, если идентификатор проекта для файла и целевой каталог совпадают.
s
Когда файл с установленным атрибутом «s» удаляется, его блоки обнуляются и записываются обратно на диск. Примечание: обязательно прочтите об ошибках и ограничениях в конце этого раздела.
S
При изменении файла с установленным атрибутом «S» изменения синхронно записываются на диск; это эквивалентно опции монтирования «sync», применяемой к подмножеству файлов.
t
Файл с атрибутом «t» не будет иметь фрагмент частичного блока в конце файла, объединённого с другими файлами (для тех файловых систем, которые поддерживают объединение хвостов).
Это необходимо для таких приложений, как LILO, которые читают файловую систему напрямую и не понимают файлы с хвостовым слиянием. Примечание. На момент написания этой статьи файловые системы ext2, ext3 и ext4 не поддерживают слияние хвостов.
T
Директория с атрибутом «T» будет считаться вершиной иерархии каталогов для целей распределителя блоков Орлова. Это подсказка распределителю блоков, используемому ext3 и ext4, что подкаталоги в этом каталоге не связаны и, следовательно, должны быть разделены для целей распределения. Например, очень хорошая идея установить атрибут «T» в каталоге /home, чтобы /home/john и /home/mary были помещены в отдельные группы блоков. Для каталогов, где этот атрибут не установлен, распределитель блоков Орлова будет пытаться сгруппировать подкаталоги ближе друг к другу, где это возможно.
u
Когда файл с установленным атрибутом «u» удаляется, его содержимое сохраняется. Это позволяет пользователю запрашивать его восстановление. Примечание: обязательно прочтите об ошибках и ограничениях в конце этого раздел.
x
Атрибут «x» может быть установлен для каталога или файла. Если атрибут установлен в существующем каталоге, он будет унаследован всеми файлами и подкаталогами, которые впоследствии будут созданы в каталоге. Если существующий каталог содержал некоторые файлы и подкаталоги, изменение атрибута в родительском каталоге не изменяет атрибуты этих файлов и подкаталогов.
V
Для файла с установленным атрибутом «V» включена функция проверки подлинности. Он не может быть записан, и файловая система будет автоматически проверять все данные, считанные из неё, по криптографическому хешу, который покрывает всё содержимое файла, например через дерево Меркла. Это позволяет эффективно аутентифицировать файл. Этот атрибут нельзя установить или сбросить с помощью chattr, хотя он может быть отображён с помощью lsattr.
Можно ещё вспомнить липкий бит (sticky bit), суть которого в том, что файл с данным битом может удалить только тот пользователь, который является владельцем файла. Липкий бит устанавливается с помощью программы chmod:
Но к рассматриваемым файловым параметрам липкий бит не имеет отношения.
Ошибки и ограничения
Атрибуты «c», «s» и «u» не поддерживаются файловыми системами ext2, ext3 и ext4, как это реализовано в текущих основных ядрах Linux. Установка атрибутов «a» и «i» не повлияет на возможность записи в уже существующие файловые дескрипторы.
Параметр «j» полезен только для файловых систем ext3 и ext4.
Параметр «D» полезен только в ядре Linux 2.5.19 и новее.
Архивный
Необходимость использования данного типа атрибутов «А» заключается в том, чтобы создавать бэкапы. Так что нужен он для определенных утилит. Также пригодится для распознавания тех файлов, которые ранее были включены в резервную копию. Удается выявить и те объекты, которые ранее были скорректированы, а в настоящее время просто подлежат замене.
p, blockquote 10,0,0,0,0 -->
Особенности использования команды ls
Когда команда ls обрабатывает не «обычные» файлы, а специальные файлы устройств (хотя это тоже самые обычные файлы). То для них она выводит несколько иную информацию:
Вместо размера файла выводится старший и младший номера (4, 0) устройства tty0 – это первая виртуальная консоль, управляемая драйвером устройства 4, который является драйвером терминала.
Когда нужно узнать для определённого файла не только количество указывающих на него жестких ссылок, но и сами эти ссылки. То целесообразно использовать опцию -i, которая выводит номер индексного дескриптора для файла:
Номер индексного дескриптора — это индекс той самой таблицы, в которой содержатся записи всех файловых систем. В свою очередь, на дескрипторы ссылаются файловые записи каталогов. Таким образом, у жёстких ссылок, ссылающихся на один и тот же файл, будут одинаковые номера. Зная номер индексного дескриптора определённого файла, можно найти в системе все ссылающиеся на него жесткие ссылки, используя команду find:
Данный пример — лишь одно из важных практических применений команды ls. Следует также отметить некоторые особенно полезные опции команды ls:
-a – отображает все файлы и каталоги. Включая скрытые (имена которых начинаются с точки), а также «всевдокаталоги» с именами «.» и «. .»;
-t – отображает результаты в отсортированном (по времени изменения файлов) порядке. А опция -tr то же, но в обратном порядке;
-F – выделяет каталоги и исполняемые файлы в общем выводе;
-h – отображает размеры файлов и каталогов в «человекопонятных» единицах, к примеру 4k или 10M;
-R – рекурсивный вывод, выполнение которого прерывается нажатием сочетания клавиш .
Иногда возникает путаница в использовании опций -l и —d. Дело в том, что опция -d предназначена для дополнения работы опции -l (которая выводит подробную информацию об атрибутах). Когда необходимо получить атрибуты именно конкретного каталога:
Выводы
Сегодняшняя статья получилась не очень обширной, но, надеюсь, станет кому-то полезной, а кому-то, возможно, позволит сберечь лишние нервные клетки :)
Помните, что 90% причин всех глюков и неполадок компьютера – это Вы сами! Поэтому, прежде чем паниковать и нести ПК в ремонт, попробуйте проанализировать все свои действия и поискать решения возникшей проблемы в Интернете. В большинстве случаев помогает ;)
P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.
Для чтения
Атрибут «R» предполагает сохранение информации, которая в дальнейшем будет открываться исключительно для чтения.
p, blockquote 7,0,0,0,0 -->
Используется это с целью установки запрета правки текстовых файлов. Если пользователь частенько работает с информацией, а затем сохраняет ее на съемные накопители, то в таком случае можно просто защитить флешку от записи. Предварительно в корне данного накопителя нужно будет создать папку только для чтения.
p, blockquote 8,0,1,0,0 -->
Это неплохой вариант защиты от сторонних пользователей. Однако различные вирусы и прочие угрозы «умеют» обходить данные барьеры, чтобы проникать в файлы и просто заражать их. Так что при необходимости лучше всего частенько проверять данный накопитель на предмет выявления различных угроз.
p, blockquote 9,0,0,0,0 -->
Получение сведений о файлах и каталогах
Файловая система для каждого из своих базовых объектов (файлов и каталогов) хранит около четырёх десятков информационных полей. Подавляющее большинство из этих полей ФС использует для поддержания собственной работоспособности. По сути, когда пользователь работает с ФС, он просто использует любезно предоставленные самой же ФС возможности и информацию. При этом видит всё «как на ладони», всё как есть. Единственным скрытым (а точнее, «замаскированным») компонентом в представлении ФС является оборудование. Которое представлено теми же самыми файлами с соответствующими им свойствами и атрибутами.
Что представляет собой тот или иной файл, т. е. какой доступ к нему предоставлен, какими «связями» он обладает, когда был создан и/или изменён. А также многое другое, позволяет узнать команда ls с ключом -l. Когда нужно «навести справки» о каком-либо объекте ФС, использовать нужно именно её:
Нет необходимости подробно останавливаться на синтаксисе и перечисления всех доступных опций и их описании. Поскольку это простая справочная информация, доступная из соответствующего справочного руководства: man ls. А вот сам вывод команды из приведённого примера стоит рассмотреть более внимательно. Он разбит на секции, каждая из которых является отдельным атрибутом файла. В данном выводе в первой секции представлен режим доступа к файлу. Во второй — количество жёстких ссылок на данный файл. В третьей и четвертой — информация о владельце и группе. В данном случае root, к которым принадлежит файл. Следующая секция отображает размер файла в байтах. Далее следует дата последнего изменения файла — 28 апреля 2017 г., последняя секция — имя самого файла. Что касается каталогов, то для них всегда имеется как минимум две жесткие ссылки: первая — из родительского каталога, а вторая — это «псевдокаталог» «.» внутри самого этого каталога.
Пропали файлы с флешки
Если Вы открыли флешку, а на ней пропали все данные, не спешите паниковать! Скорее всего, случайно были изменены атрибуты файлов и папок, которые там хранились. Как вернуть правильные атрибуты мы расскажем в статье ниже!
Сколько работаю с компьютерами, столько и убеждаюсь, что они любят доставлять пользователям массу неудобств. Причём, часто все "выкрутасы" проистекают из нашего незнания каких-либо основ или особенностей работы системы и её компонентов.
Так случилось и в этот раз. Не успел я выйти на новую работу, а уже столкнулся с очередной компьютерной "проблемой" :)
Системный
Данный тип известен как «S». Этим атрибутом обычно помечаются системные папки с документами, программами и прочими важными файлами, в которые юзерам лучше всего не вмешиваться.
p, blockquote 5,0,0,0,0 -->
По этой причине пользователи не смогут увидеть эти объекты в Проводнике. Так что придется обеспечивать доступ к ним только после отключения опции, которая направлена на скрытие защищённых системных файлов. После ее активации можно будет увидеть все объекты. Но лучше все же этого не делать, чтобы не нанести урон процессам, отвечающим за работу операционной системы, а также многим прочим важным компонентам, от которых зависит функционирование устройства.
p, blockquote 6,0,0,0,0 -->
Что это такое?
Технически это набор из девяти основных битов. Определяющих какие из пользователей обладают правами на чтение, запись. А также запуск файлов для выполнения. Данный набор формирует код, называемый режимом доступа к файлу/каталогу. Первые три бита определяют права доступа для владельца. Следующие — для группы пользователей, к которой относится файл. и последние три бита — права доступа для всех остальных пользователей в системе. На практике это выглядит так:
Этот вывод говорит о том, что файл .mysql_history доступен для чтения и записи только его владельцу — пользователю john. О чём свидетельствуют первые три символа (rw-) в режима доступа. Символ «-», стоящий перед ними — это признак, что это файл, а не каталог, блочное устройство и т. д. Таким образом, ФС на всем понятном языке говорит, что данный файл может быть прочитан или отредактирован только его владельцем (или суперпользователем).
Существует также ещё четыре дополнительных бита. Которые определяют тип самого файла и задаются непосредственно при создании файла. С помощью команды chmod можно менять основные (и некоторые дополнительные) биты режима доступа. Сделать это может только владелец файла или суперпользователь. Просматривать атрибуты (в том числе и режимы доступа) позволяет команда ls. Таким образом, характер поведения ФС, а также распределение доступа и управление им полностью определяется атрибутами файлов. Которые хранит сама ФС — это самодостаточный и универсальный подход.
Как снять атрибуты «Скрытый» и «Системный»
Бывают ситуации, когда какой-нибудь вирус выставляет на файле атрибут «Системный», тем самым крайне усложняя работу с ним. В этом случае программа «Проводник» не будет его отображать. Если у вас именно эта проблема, прочтите нашу статью про то, как включить показ скрытых файлов и папок. Скриншоты там сделаны на Windows 10, но и в других более-менее новых версиях Windows алгоритм тот же.
p, blockquote 26,0,0,0,0 -->
Если вы хотите эти атрибуты именно снять, зайдите в командную строку от имени администратора. Если не знаете, как — пройдите по ссылке, там все подробно описано. Скриншоты сделаны на Windows 7, но по традиции, в других ОС Windows процесс выглядит так же.
p, blockquote 27,0,0,0,0 -->
Введите в командную строку команду «cd /D путь», где «путь» означает путь к папке, в которой расположен файл и нажмите «Enter». Путь проще будет скопировать. Вот статья про то, как копировать путь к папке на Windows 7.
p, blockquote 28,0,0,0,0 -->
p, blockquote 29,0,0,0,0 -->
Теперь введите в командную строку команду «attrib -S -H /S /D» и нажмите «Enter». После ее действия атрибуты «Скрытый» и «Системный» снимутся со всех файлов в выбранной папке.
p, blockquote 30,0,0,0,0 -->
p, blockquote 31,0,0,0,0 -->
Общие атрибуты файлов
Всего в Windows исторически сложилось 4 основных атрибута, которыми могут обладать любые файлы и частично папки:
- "Только для чтения" (read-only) – R. Используется обычно для запрета правки текстовых файлов. Из нетрадиционных способов использования можно назвать защиту флешки от записи (в корне создаётся папка только для чтения), но вирусы могут обходить такую защиту.
- "Архивный" (archived) – A. Нужен в основном только программам для создания бэкапов, чтобы распознавать, какие файлы уже включены в резервную копию, а какие изменились и подлежат замене.
- "Системный" (system) – S. Данным атрибутом обычно помечаются системные файлы, которые нежелательно трогать пользователю. Исходя из этого, в Проводнике такие файлы не отображаются, если не отключена опция "Скрывать защищённые системные файлы" во вкладке "Вид" в разделе "Параметры папок".
- "Скрытый" (hidden) – H. Позволяет скрывать любые файлы и папки без необходимости помечать их как системные. Аналогично предыдущему атрибуту, препятствует отображению в Проводнике, если не включена настройка "Показывать скрытые файлы, папки и диски".
Кроме того, в последних версиях Windows появился ещё ряд атрибутов, которые обычно не нуждаются в изменении, но о которых стоит знать:
- "сжатый" (C);
- "зашифрованный" (E);
- "индексированный" (I);
- "временный" (T);
- атрибут целостности (V);
- "без очистки" (X).
Часть из этих атрибутов можно увидеть в Свойствах файла, а часть доступна только самой файловой системе и нигде не отображается:
Также к атрибутам иногда причисляют временную метку файла, которая включает в себя три даты: создания, изменения и первого открытия. В системе обычно отображается только дата изменения, но остальные метки времени можно увидеть всё в тех же Свойствах:
Очевидно, что изменить дату создания файла без сторонних программ нельзя, а для корректировки даты изменения достаточно внести в файл какие-либо правки. Дата сменится автоматически.
Заключение
В заключении нужно отметить, что несмотря на кажущуюся незатейливость команды ls, она является базовым инструментом системного администратора для «исследования» паутины ФС. И если можно так выразиться, средством для понимания её скрытого порядка и принципов работы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
У каждого файла имеется определённый набор свойств в файловой системе. Например, это права доступа, владелец, имя, метки времени. В Linux каждый файл имеет довольно много свойств, например, права доступа устанавливаются трижды (для владельца, группы и всех прочих), метки времени также бывают трёх разных видов (время создание, доступа и изменения).
Часть свойств файлов в текущей директории можно посмотреть командой:
Пример свойств одного из файлов:
При этом свойства файла не нужно путать с метаданными. Метаданные — это та информация, которая хранится в самом файле независимо от файловой системы. А свойства файла специфичны для файловой системы и могут быть потеряны, например, при переносе файла из файловой системы EXT4 в NTFS некоторые свойства файла (например, права доступа или метки времени) будут потеряны по той причине, что файловая система NTFS их не поддерживает.
Смотрите также:
Пользователи Linux обычно в курсе режимов доступа к файлам, подробнее о них смотрите в статье «Азы работы в командной строке Linux (часть 6)». Но файлам и директориям могут быть установлены атрибуты, о которы помнят далеко не все пользователи. Именно файловым атрибутам, а также утилитам для установления и считывания файловых атрибутов посвящена данная статья.
Файловые атрибуты могут использовать администраторы и пользователи для защиты файлов от случайных удалений и изменений, а также их применяют злоумышленники, делая невозможным удаление вредоносного файла.
Sticky-бит
Этот дополнительный бит служит для того, чтобы внутри каталога, для которого установлен этот бит, удаление и/или переименование файлов могли производить только их владельцы или суперпользователь.
Установить sticky-бит может только суперпользователь, но обычный пользователь-владелец файла может его снять. Sticky-биту соответствует восьмеричное значение 1000, пример:
А в выводе команды ls это будет выглядеть следующим образом:
В данном выводе в спецификации режима доступа символ «T» говорит об установленном sticky-бите. Его представление в виде заглавной и строчной букв имеет то же значение, как и по аналогии с битами setuid и setgid.
В заключении стоит ещё раз отметить то, насколько важно понимать и правильно интерпретировать атрибуты файлов. От этого зависит, насколько корректно и надёжно будет функционировать вся система. Грамотное системное администрирование невозможно без понимания работы ФС, в частности того, что такое атрибуты файлов.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
При взаимодействии с файловой системой (ФС) всегда приходится тесно работать с некоторой информацией, без которой системное администрирование (да и обычное использование системы) просто невозможно. Речь идёт об атрибутах файлов, а точнее об инструменте её получения — команде ls. Многие, даже опытные пользователи не придают ей особого значения — для большинства это просто команда «просмотра содержимого каталогов». Однако, команда ls обладает куда более широкими возможностями. Которые превозносят работу с ФС на качественно более высокий уровень. Поскольку она позволяет получать самые ценные сведения о ФС, что является ключом к пониманию того, как, собственно, функционирует вся система в целом. Если для кого-то это и может быть совсем неважно, но только не для администраторов UNIX/Linux.
Ошибка «Отказано в доступе» — решение проблемы
- Откройте «Мой компьютер» (он же проводник), нажмите правой кнопкой мышки на папке, доступ к которой Вы хотите восстановить и выберите пункт «Свойства«;
- Перейдите на вкладку «Безопасность», где кликните в кнопку «Изменить» (при необходимости укажите пароль для доступа):
- Выберите пользователя (если нужный уже есть в списке) или нажмите кнопку «Добавить«, где введите имя системного пользователя (под которым входите в Windows), которому нужен доступ и надавите в кнопку «Проверить имена«:
- Выберите найденного пользователя и нажмите в кнопку «ОК«;
- Далее установите флажок «Заменить владельца подконтейнеров и объектов«, чтобы была доступна не только эта папка, но и файлы внутри неё;
- Всё.
Другие атрибуты файлов
Но такая классификация известна пользователям, которые работали с прежними версиями данной операционной системы. Финальные версии данной платформы обладают еще некоторыми дополнительными объектами. Они совершенно не нуждаются в изменении, однако юзерам все же следует узнать о них как можно больше информации. Это зашифрованный, сжатый атрибут, а также представлены индексированный, временный и прочие.
p, blockquote 12,0,0,0,0 -->
В дополнение к этому предусмотрен вариант проведения работы с атрибутом целостности и проведения работы без предварительной очистки. Так что разнообразие таких элементов достаточно велико. Некоторые их перечисленных компонентов пользователь может увидеть в разделе со свойствами файлов.
p, blockquote 13,0,0,0,0 -->
Также к атрибутам можно отнести даже временные метки файла. Они помогают выяснить то, когда именно был создан документ, время его первого открытия и некоторых изменений. Благодаря столь точной информации пользователь может понять, как именно производилась работа с определенным объектом.
p, blockquote 14,0,0,0,0 -->
В системных файлах юзеры могут увидеть в обычном варианте только дату производимых корректировок. Чтобы получить доступ к более полной информации, необходимо открыть пункт со свойствами. В этом случае можно увидеть даты создания объекта, производимых в отношении его изменений.
p, blockquote 15,0,0,0,0 -->
При этом можно корректировать все эти данные. Если пользователь будет вносить правки, то все эти изменения моментально вступят в силу. В итоге и дата корректировки будет изменена в автоматическом режиме.
p, blockquote 16,1,0,0,0 -->
p, blockquote 17,0,0,0,0 -->
lsattr — программа для показа атрибутов файлов в файловой системе Linux
lsattr перечисляет атрибуты файлов в файловой системе Linux.
Для просмотра файловых атрибутов укажите имя файлов:
-R
Рекурсивный список атрибутов директорий и их содержимого.
-a
Перечислить все файлы в каталогах, включая файлы, начинающиеся с «.».
-d
Список каталогов как и других файлов, а не их содержимое.
-l
Печатать параметры, используя длинные имена вместо односимвольных сокращений.
Атрибуты файлов – это специальные системные метаданные, которые описывают свойства конкретного файла или целой папки. Часто под атрибутами подразумевают также некоторые дополнительные параметры, вроде, даты создания файла, или специализированную метаинформацию о конкретных типах данных (например, EXIF для изображений или ID3-теги для музыки).
Обычно мы не обращаем внимания на атрибуты файлов, однако, рано или поздно может возникнуть ситуация, когда у нас не получится внести изменения в открытый текстовый файл или файлы вовсе исчезнут с флешки или жёсткого диска! А, возможно, возникнет необходимость, например, изменить дату создания снимка.
Чтобы Windows не застала Вас врасплох в самый неподходящий момент рекомендую ознакомиться с тем, что такое атрибуты файлов, зачем они нужны и что с ними делать.
Как изменить атрибуты файла в Windows?
В рядовых ситуациях с обычными, простенькими атрибутами, типо скрытия или сжатия все просто. Посмотреть и поменять их можно, нажав на файле ПКМ и войдя в его «Свойства».
p, blockquote 18,0,0,0,0 -->
p, blockquote 19,0,0,0,0 -->
p, blockquote 20,0,0,0,0 -->
Теперь нажмите кнопку «Дополнительно».
p, blockquote 21,0,0,0,0 -->
p, blockquote 22,0,0,0,0 -->
Здесь вы можете увидеть и заменить такие атрибуты, как индексирование, архивации, сжатия и шифрования. Если вкратце, сжатие делает файл менее «Весомым» (пока он не нужен, он находится в неком «спресованном» состоянии, когда его активируют, ОС сама его разворачивает, когда он прекращает свою работу или его закрывают, сжимает обратно). Шифрование — защита от утечки данных. Последнее — реально большая тема, советую почитать по-подробнее.
p, blockquote 23,0,0,0,0 -->
p, blockquote 24,0,0,1,0 -->
p, blockquote 25,0,0,0,0 -->
Специальные биты режимов доступа setuid и setgid
Очень важное значение в системах Linux имеют биты setuid (бит смены идентификатора пользователя) и setgid (бит смены идентификатора группы). Их назначение в том, чтобы помочь, в определённых ситуациях, программам получить полноценный доступ к каким-либо файлам и/или процессам. Которые по спецификации основного режима доступа недоступны пользователям, от имени которых эти программы запускаются. Битам setuid и setgid в восьмеричной записи соответствуют значения 4000 и 2000. Так что всё это значит? Дело в том, что если для какого-либо файла установлен бит setuid.То какой-либо пользователь (неважно кто) может запускать на исполнение этот файл от имени владельца этого файла. Таким образом работают такие программы как passwd, которую может использовать пользователь для смены своего пароля. Однако исполняемый файл passwd принадлежит суперпользователю root. Естественно, setuid и setgid можно устанавливать командой chmod:
Здесь первая команда устанавливает для файла settings.php бит setuid. Вторая — setgid, третья — оба этих бита сразу.
В выводе команды ls это выглядит так:
Здесь символ «s» в спецификации режима доступа. Говорит о том, что установлен бит setgid (вторая триада). Вместо него может быть символ «S», т. е. заглавная буква, которая говорит о том, что данный бит для этого файла был установлен впервые.
В контексте каталога может устанавливаться бит setgid. В этом случае всем создаваемым внутри этого каталога файлам будут назначаться идентификатор группы этого каталога. А не группы владельца файлов.
Просмотр и правка атрибутов
Как уже говорилось выше, довольно удобно работать с атрибутами в визуальном режиме при помощи файловых менеджеров.
Например, в популярном Total Commander, чтобы включить отображение скрытых файлов и папок нужно зайти в меню "Вид" – "Расширенные настройки" и внизу активировать опцию "Показывать скрытые/системные файлы: вкл/выкл". Теперь, когда всё видно, выделяем файлы, с которых нужно снять атрибуты, идём в меню "Файлы" и жмём пункт "Изменить атрибуты":
Откроется довольно симпатичное окошко, где в визуальном режиме Вы сможете не только применить все параметры стандартной команды ATTRIB, но и сменить метку времени изменения файла (к сожалению, метку создания без специальных плагинов не сменишь).
Аналогичное окошко есть и у другого популярного файлового менеджера Free Commander. Здесь для включения отображения скрытых файлов также нужно пройти в меню "Вид", а оттуда в подменю "Показать", где и отметить все пункты. Правка же атрибутов в этом файловом менеджере также находится в меню "Файл" и называется "Атрибуты/метка времени":
Качаем программу по ссылке для 32-битных или 64-битных систем и файл Russian.zip. Из последнего извлекаем русификатор, кидаем его в основной архив программы и можем запускать. Должно появиться окошко на русском, аналогичное тому, что на скриншоте выше.
Нам осталось только добавить в список файлы на обработку, выделить их и нажать кнопку "Изменить время/атрибуты" на верхней панельке. Если сделаете всё правильно, перед Вами откроется такое окно:
Здесь, как видим, можно менять абсолютно любые метки времени и все основные атрибуты файлов. Отмечаете галочками, что нужно изменить и жмёте "Выполнить".
Единственный недостаток BulkFileChanger в том, что программа не умеет работать с атрибутами папок и подпапок. Однако, для правки временных меток она – идеальна!
Вдобавок утилита снабжена ещё одной функцией – "Выполнить команду для выбранных файлов". Это позволяет, например, сформировать пакетную команду для множества файлов без необходимости вводить вручную все их адреса!
Читайте также: