Сохраняет папки в файле какой памяти

Обновлено: 21.11.2024

Когда вы смотрите на жесткий диск в Unix, вы видите дерево именованных каталогов и файлов. Обычно вам не нужно заглядывать глубже, но становится полезно знать, что происходит внутри, если у вас произошел сбой диска и вам нужно попытаться спасти файлы. К сожалению, нет хорошего способа описать организацию диска от уровня файлов вниз, поэтому мне придется описать ее от аппаратного обеспечения вверх.

Unix делит диск на разделы. Каждый раздел представляет собой непрерывный диапазон блоков, который используется отдельно от любого другого раздела либо в качестве файловой системы, либо в качестве пространства подкачки. Первоначальные причины создания разделов были связаны с аварийным восстановлением в мире гораздо более медленных и подверженных ошибкам дисков; границы между ними уменьшают долю вашего диска, которая может стать недоступной или поврежденной из-за случайного плохого места на диске. В настоящее время более важно, чтобы разделы могли быть объявлены доступными только для чтения (предотвращая изменение важных системных файлов злоумышленником) или общими по сети с помощью различных средств, которые мы не будем здесь обсуждать. Раздел с наименьшим номером на диске часто рассматривается как загрузочный раздел, на который можно поместить загружаемое ядро.

В каждой файловой системе сопоставление имен с блоками осуществляется с помощью структуры, называемой i-узлом. Рядом с «дном» (блоками с наименьшими номерами) каждой файловой системы находится пул этих вещей (самые низкие используются для обслуживания и маркировки, которые мы не будем здесь описывать). Каждый i-узел описывает один файл. Блоки файловых данных (включая каталоги) располагаются над i-узлами (в блоках с более высокими номерами).

Каждый i-узел содержит список номеров дисковых блоков в файле, который он описывает. (На самом деле это полуправда, верно только для небольших файлов, но остальные детали здесь не важны.) Обратите внимание, что i-узел не содержит имени файла.

Имена файлов живут в структурах каталогов. Структура каталогов просто сопоставляет имена с номерами i-узлов. Вот почему в Unix файл может иметь несколько истинных имен (или жестких ссылок); это просто несколько записей каталога, которые указывают на один и тот же i-узел.

В самом простом случае вся ваша файловая система Unix находится всего в одном разделе диска. Хотя вы увидите такое расположение на некоторых небольших персональных Unix-системах, оно необычно. Более типичным является его распределение по нескольким разделам диска, возможно, на разных физических дисках. Так, например, в вашей системе может быть один небольшой раздел, на котором находится ядро, другой, немного большего размера, на котором находятся утилиты ОС, и еще один, на котором находятся домашние каталоги пользователей.

Единственный раздел, к которому у вас будет доступ сразу после загрузки системы, — это ваш корневой раздел, который (почти всегда) является тем, с которого вы загрузились. Он содержит корневой каталог файловой системы, верхний узел, от которого зависит все остальное.

Другие разделы в системе должны быть присоединены к этому корню, чтобы вся файловая система с несколькими разделами была доступна. Примерно в середине процесса загрузки ваш Unix сделает эти разделы без полномочий root доступными. Он смонтирует каждый из них в каталог корневого раздела.

Например, если у вас есть каталог Unix с именем /usr , вероятно, это точка подключения к разделу, содержащему множество программ, установленных вместе с Unix, но не требуемых при начальной загрузке.

Теперь мы можем посмотреть на файловую систему сверху вниз. Когда вы открываете файл (например, /home/esr/WWW/ldp/fundamentals.xml ), происходит следующее:

Ваше ядро ​​запускается в корне файловой системы Unix (в корневом разделе). Он ищет там каталог под названием «home». Обычно «дом» — это точка подключения к большому пользовательскому разделу в другом месте, поэтому он будет идти туда. В структуре каталогов верхнего уровня этого пользовательского раздела он будет искать запись с именем «esr» и извлекать номер i-узла. Он перейдет к этому i-узлу, заметит, что связанные с ним блоки файловых данных представляют собой структуру каталогов, и найдет «WWW». Извлекая этот i-узел, он перейдет в соответствующий подкаталог и найдет «ldp». Это приведет его к еще одному каталогу i-node. Открыв его, он найдет номер i-узла для «fundamentals.xml». Этот i-узел не является каталогом, а содержит список дисковых блоков, связанных с файлом.

Чтобы предотвратить случайное или злонамеренное вмешательство программ в недопустимые данные, в Unix предусмотрены функции разрешений. Первоначально они были разработаны для поддержки разделения времени путем защиты нескольких пользователей на одном компьютере друг от друга, еще в те дни, когда Unix работала в основном на дорогих общих мини-компьютерах.

Основные разрешения, которые могут быть связаны с файлом, — это «чтение» (разрешение на чтение данных из него), «запись» (разрешение на его изменение) и «выполнение» (разрешение на запуск его как программы).Каждый файл имеет три набора разрешений; один для пользователя-владельца, один для любого пользователя в группе-владельце и один для всех остальных. «Привилегии», которые вы получаете при входе в систему, — это просто возможность читать, писать и выполнять те файлы, для которых биты разрешений соответствуют вашему идентификатору пользователя или одной из групп, в которых вы состоите, или файлы, которые были сделаны доступными. миру.

Чтобы увидеть, как они могут взаимодействовать и как Unix их отображает, давайте посмотрим на некоторые списки файлов в гипотетической системе Unix. Вот один:

snark:~$ ls -l notes -rw-r--r-- 1 esr users 2993 17 июня 11:00 заметки

Это обычный файл данных. Листинг говорит нам, что он принадлежит пользователю «esr» и был создан с группой-владельцем «users». Вероятно, машина, на которой мы находимся, по умолчанию помещает каждого обычного пользователя в эту группу; другие группы, которые вы обычно видите на машинах с разделением времени, — это «персонал», «администратор» или «колесо» (по понятным причинам группы не очень важны на однопользовательских рабочих станциях или ПК). Ваш Unix может использовать другую группу по умолчанию, возможно, группу, названную в честь вашего идентификатора пользователя.

Строка «-rw-r--r--» представляет биты прав доступа к файлу. Самый первый тире — это позиция для бита каталога; он покажет «d», если файл был каталогом, или покажет «l», если файл был символической ссылкой. После этого первые три места — это разрешения пользователя, вторые три — групповые разрешения, а третье — разрешения для других (часто называемые «мировыми» разрешениями). В этом файле пользователь-владелец «esr» может читать или записывать файл, другие люди в группе «пользователи» могут его читать, и все остальные в мире могут его читать. Это довольно типичный набор разрешений для обычного файла данных.

Теперь давайте посмотрим на файл с очень разными разрешениями. Это файл GCC, компилятор GNU C.

snark:~$ ls -l /usr/bin/gcc -rwxr-xr-x 3 root bin 64796 21 марта 16:41 /usr/bin/gcc

Этот файл принадлежит пользователю с именем «root» и группе с именем «bin»; он может быть записан (изменен) только пользователем root, но прочитан или выполнен кем угодно. Это типичное владение и набор разрешений для предустановленной системной команды. Группа «bin» существует в некоторых Unix-системах для группировки системных команд (название — историческая реликвия, сокращение от «binary»). Вместо этого ваш Unix может использовать группу «root» (не совсем то же самое, что пользователь «root»!).

Пользователь root — это обычное имя для числового идентификатора пользователя 0, специальной привилегированной учетной записи, которая может переопределить все привилегии. Доступ с правами root полезен, но опасен; опечатка при входе в систему с правами root может стереть важные системные файлы, которые не может затронуть та же самая команда, выполненная из учетной записи обычного пользователя.

Поскольку корневая учетная запись очень мощная, доступ к ней следует очень тщательно охранять. Ваш корневой пароль — это самая важная часть информации о безопасности в вашей системе, и это то, что взломщики и злоумышленники, которые когда-либо придут к вам, будут пытаться получить его.

О паролях: не записывайте их и не выбирайте пароли, которые можно легко угадать, например, имя вашей девушки/друга/супруга. Это удивительно распространенная плохая практика, которая безмерно помогает взломщикам. В общем, не выбирайте слова в словаре; существуют программы, называемые взломщиками словарей, которые ищут вероятные пароли, просматривая списки слов с наиболее частыми вариантами. Хорошая техника — подобрать комбинацию, состоящую из слова, цифры и другого слова, например «shark6cider» или «jump3joy»; это сделает пространство поиска слишком большим для взломщика словарей. Однако не используйте эти примеры — взломщики могут ожидать этого после прочтения этого документа и добавления их в свои словари.

Теперь давайте рассмотрим третий случай:

snark:~$ ls -ld ~ drwxr-xr-x 89 пользователей esr 9216 27 июня 11:29 /home2/esr snark:~$

Этот файл является каталогом (обратите внимание на букву «d» в первом слоте разрешений). Мы видим, что его может написать только esr, а прочитать и выполнить кто угодно другой.

Разрешение на чтение дает вам возможность составить список каталогов, то есть просмотреть имена файлов и каталогов, которые в нем содержатся. Разрешение на запись дает вам возможность создавать и удалять файлы в каталоге. Если вы помните, что каталог включает в себя список имен содержащихся в нем файлов и подкаталогов, эти правила будут иметь смысл.

Разрешение на выполнение для каталога означает, что вы можете получить доступ к каталогу, чтобы открыть файлы и каталоги, расположенные ниже него. По сути, это дает вам разрешение на доступ к i-узлам в каталоге. Каталог с полностью отключенным выполнением был бы бесполезен.

Иногда вы увидите каталог, который доступен для всех, но не для чтения; это означает, что случайный пользователь может получить доступ к файлам и каталогам под ним, но только зная их точные имена (каталог не может быть указан).

Важно помнить, что права на чтение, запись или выполнение для каталога не зависят от разрешений для файлов и каталогов, расположенных ниже. В частности, доступ на запись в каталог означает, что вы можете создавать в нем новые файлы или удалять существующие файлы, но не дает вам автоматически права на запись в существующие файлы.

Наконец, давайте посмотрим на разрешения самой программы входа в систему.

snark:~$ ls -l /bin/login -rwsr-xr-x 1 root bin 20164 17 апреля 12:57 /bin/login

У этого есть разрешения, которые мы ожидаем для системной команды, за исключением того, что "s", где должен быть бит владельца-исполнения. Это видимое проявление специального разрешения, называемого set-user-id или битом setuid .

Бит setuid обычно присваивается программам, которым необходимо предоставить обычным пользователям привилегии root, но контролируемым образом. Когда он установлен для исполняемой программы, вы получаете привилегии владельца этого файла программы, пока программа работает от вашего имени, независимо от того, совпадают ли они с вашими собственными.

Как и сама учетная запись root, программы setuid полезны, но опасны. Любой, кто может подорвать или изменить программу setuid, принадлежащую пользователю root, может использовать ее для создания оболочки с привилегиями root. По этой причине открытие файла для записи автоматически отключает бит setuid на большинстве Unix. Многие атаки на безопасность Unix пытаются использовать ошибки в программах setuid, чтобы разрушить их. Поэтому системные администраторы, заботящиеся о безопасности, очень внимательно относятся к этим программам и неохотно устанавливают новые.

При обсуждении разрешений выше мы упустили несколько важных деталей; а именно, как группа-владелец и разрешения назначаются при первом создании файла или каталога. Группа является проблемой, поскольку пользователи могут быть членами нескольких групп, но одна из них (указанная в записи пользователя /etc/passwd) является группой пользователя по умолчанию и обычно владеет файлами, созданными пользователем.

История с начальными битами разрешения немного сложнее. Программа, которая создает файл, обычно указывает разрешения, с которыми она должна начинаться. Но они будут изменены переменной в среде пользователя, называемой umask. Маска umask указывает, какие биты разрешений следует отключить при создании файла; наиболее распространенным значением и значением по умолчанию в большинстве систем является -------w- или 002, что отключает бит мировой записи. Для получения подробной информации см. документацию по команде umask на странице руководства вашей оболочки.

Начальная группа каталогов также немного сложна. В некоторых системах Unix новый каталог получает группу по умолчанию создавшего пользователя (это в соглашении System V); на других он получает группу владельцев родительского каталога, в котором он создан (это соглашение BSD). В некоторых современных системах Unix, включая Linux, последнее поведение можно выбрать, установив set-group-ID для каталога (chmod g+s).

Ранее намекали, что файловые системы могут быть хрупкими. Теперь мы знаем, что для того, чтобы получить доступ к файлу, вам нужно пройти через сколь угодно длинную цепочку ссылок на каталоги и i-узлы. Теперь предположим, что на вашем жестком диске появилось плохое место?

Если вам повезет, он уничтожит только некоторые данные файла. Если вам не повезет, это может повредить структуру каталогов или номер i-узла и оставить целое поддерево вашей системы в подвешенном состоянии или, что еще хуже, привести к поврежденной структуре, которая несколькими путями указывает на один и тот же блок диска или i- узел. Такие повреждения могут распространяться обычными операциями с файлами, уничтожая данные, которых не было в исходном плохом месте.

К счастью, такие непредвиденные обстоятельства стали редкостью, поскольку дисковое оборудование стало более надежным. Тем не менее, это означает, что ваш Unix будет периодически проверять целостность файловой системы, чтобы убедиться, что все в порядке. Современные Unix выполняют быструю проверку целостности каждого раздела во время загрузки, непосредственно перед его монтированием. Каждые несколько перезагрузок они будут проводить гораздо более тщательную проверку, которая занимает на несколько минут больше времени.

Если все это звучит так, как будто Unix ужасно сложна и подвержена сбоям, может быть приятно узнать, что эти проверки во время загрузки обычно выявляют и устраняют обычные проблемы до того, как они станут действительно катастрофическими. Другие операционные системы не имеют этих средств, что немного ускоряет загрузку, но может привести к гораздо более серьезным проблемам при попытке восстановления вручную (и это при условии, что у вас есть копия Norton Utilities или что-то еще).

Одной из тенденций в современных разработках Unix является журналирование файловых систем. Они организуют трафик на диск таким образом, что он гарантированно находится в согласованном состоянии, которое может быть восстановлено при резервном копировании системы. Это значительно ускорит проверку целостности во время загрузки.

Когда вы смотрите на жесткий диск в Unix, вы видите дерево именованных каталогов и файлов.Обычно вам не нужно заглядывать глубже, но становится полезно знать, что происходит внутри, если у вас произошел сбой диска и вам нужно попытаться спасти файлы. К сожалению, нет хорошего способа описать организацию диска от уровня файлов вниз, поэтому мне придется описать ее от аппаратного обеспечения вверх.

Unix делит диск на разделы. Каждый раздел представляет собой непрерывный диапазон блоков, который используется отдельно от любого другого раздела либо в качестве файловой системы, либо в качестве пространства подкачки. Первоначальные причины создания разделов были связаны с аварийным восстановлением в мире гораздо более медленных и подверженных ошибкам дисков; границы между ними уменьшают долю вашего диска, которая может стать недоступной или поврежденной из-за случайного плохого места на диске. В настоящее время более важно, чтобы разделы могли быть объявлены доступными только для чтения (предотвращая изменение важных системных файлов злоумышленником) или общими по сети с помощью различных средств, которые мы не будем здесь обсуждать. Раздел с наименьшим номером на диске часто рассматривается как загрузочный раздел, на который можно поместить загружаемое ядро.

В каждой файловой системе сопоставление имен с блоками осуществляется с помощью структуры, называемой i-узлом. Рядом с «дном» (блоками с наименьшими номерами) каждой файловой системы находится пул этих вещей (самые низкие используются для обслуживания и маркировки, которые мы не будем здесь описывать). Каждый i-узел описывает один файл. Блоки файловых данных (включая каталоги) располагаются над i-узлами (в блоках с более высокими номерами).

Каждый i-узел содержит список номеров дисковых блоков в файле, который он описывает. (На самом деле это полуправда, верно только для небольших файлов, но остальные детали здесь не важны.) Обратите внимание, что i-узел не содержит имени файла.

Имена файлов живут в структурах каталогов. Структура каталогов просто сопоставляет имена с номерами i-узлов. Вот почему в Unix файл может иметь несколько истинных имен (или жестких ссылок); это просто несколько записей каталога, которые указывают на один и тот же i-узел.

В самом простом случае вся ваша файловая система Unix находится всего в одном разделе диска. Хотя вы увидите такое расположение на некоторых небольших персональных Unix-системах, оно необычно. Более типичным является его распределение по нескольким разделам диска, возможно, на разных физических дисках. Так, например, в вашей системе может быть один небольшой раздел, на котором находится ядро, другой, немного большего размера, на котором находятся утилиты ОС, и еще один, на котором находятся домашние каталоги пользователей.

Единственный раздел, к которому у вас будет доступ сразу после загрузки системы, — это ваш корневой раздел, который (почти всегда) является тем, с которого вы загрузились. Он содержит корневой каталог файловой системы, верхний узел, от которого зависит все остальное.

Другие разделы в системе должны быть присоединены к этому корню, чтобы вся файловая система с несколькими разделами была доступна. Примерно в середине процесса загрузки ваш Unix сделает эти разделы без полномочий root доступными. Он смонтирует каждый из них в каталог корневого раздела.

Например, если у вас есть каталог Unix с именем /usr , вероятно, это точка подключения к разделу, содержащему множество программ, установленных вместе с Unix, но не требуемых при начальной загрузке.

Теперь мы можем посмотреть на файловую систему сверху вниз. Когда вы открываете файл (например, /home/esr/WWW/ldp/fundamentals.xml ), происходит следующее:

Ваше ядро ​​запускается в корне файловой системы Unix (в корневом разделе). Он ищет там каталог под названием «home». Обычно «дом» — это точка подключения к большому пользовательскому разделу в другом месте, поэтому он будет идти туда. В структуре каталогов верхнего уровня этого пользовательского раздела он будет искать запись с именем «esr» и извлекать номер i-узла. Он перейдет к этому i-узлу, заметит, что связанные с ним блоки файловых данных представляют собой структуру каталогов, и найдет «WWW». Извлекая этот i-узел, он перейдет в соответствующий подкаталог и найдет «ldp». Это приведет его к еще одному каталогу i-node. Открыв его, он найдет номер i-узла для «fundamentals.xml». Этот i-узел не является каталогом, а содержит список дисковых блоков, связанных с файлом.

Чтобы предотвратить случайное или злонамеренное вмешательство программ в недопустимые данные, в Unix предусмотрены функции разрешений. Первоначально они были разработаны для поддержки разделения времени путем защиты нескольких пользователей на одном компьютере друг от друга, еще в те дни, когда Unix работала в основном на дорогих общих мини-компьютерах.

Основные разрешения, которые могут быть связаны с файлом, — это «чтение» (разрешение на чтение данных из него), «запись» (разрешение на его изменение) и «выполнение» (разрешение на запуск его как программы). Каждый файл имеет три набора разрешений; один для пользователя-владельца, один для любого пользователя в группе-владельце и один для всех остальных.«Привилегии», которые вы получаете при входе в систему, — это просто возможность читать, писать и выполнять те файлы, для которых биты разрешений соответствуют вашему идентификатору пользователя или одной из групп, в которых вы состоите, или файлы, которые были сделаны доступными. миру.

Чтобы увидеть, как они могут взаимодействовать и как Unix их отображает, давайте посмотрим на некоторые списки файлов в гипотетической системе Unix. Вот один:

snark:~$ ls -l notes -rw-r--r-- 1 esr users 2993 17 июня 11:00 заметки

Это обычный файл данных. Листинг говорит нам, что он принадлежит пользователю «esr» и был создан с группой-владельцем «users». Вероятно, машина, на которой мы находимся, по умолчанию помещает каждого обычного пользователя в эту группу; другие группы, которые вы обычно видите на машинах с разделением времени, — это «персонал», «администратор» или «колесо» (по понятным причинам группы не очень важны на однопользовательских рабочих станциях или ПК). Ваш Unix может использовать другую группу по умолчанию, возможно, группу, названную в честь вашего идентификатора пользователя.

Строка «-rw-r--r--» представляет биты прав доступа к файлу. Самый первый тире — это позиция для бита каталога; он покажет «d», если файл был каталогом, или покажет «l», если файл был символической ссылкой. После этого первые три места — это разрешения пользователя, вторые три — групповые разрешения, а третье — разрешения для других (часто называемые «мировыми» разрешениями). В этом файле пользователь-владелец «esr» может читать или записывать файл, другие люди в группе «пользователи» могут его читать, и все остальные в мире могут его читать. Это довольно типичный набор разрешений для обычного файла данных.

Теперь давайте посмотрим на файл с очень разными разрешениями. Это файл GCC, компилятор GNU C.

snark:~$ ls -l /usr/bin/gcc -rwxr-xr-x 3 root bin 64796 21 марта 16:41 /usr/bin/gcc

Этот файл принадлежит пользователю с именем «root» и группе с именем «bin»; он может быть записан (изменен) только пользователем root, но прочитан или выполнен кем угодно. Это типичное владение и набор разрешений для предустановленной системной команды. Группа «bin» существует в некоторых Unix-системах для группировки системных команд (название — историческая реликвия, сокращение от «binary»). Вместо этого ваш Unix может использовать группу «root» (не совсем то же самое, что пользователь «root»!).

Пользователь root — это обычное имя для числового идентификатора пользователя 0, специальной привилегированной учетной записи, которая может переопределить все привилегии. Доступ с правами root полезен, но опасен; опечатка при входе в систему с правами root может стереть важные системные файлы, которые не может затронуть та же самая команда, выполненная из учетной записи обычного пользователя.

Поскольку корневая учетная запись очень мощная, доступ к ней следует очень тщательно охранять. Ваш корневой пароль — это самая важная часть информации о безопасности в вашей системе, и это то, что взломщики и злоумышленники, которые когда-либо придут к вам, будут пытаться получить его.

О паролях: не записывайте их и не выбирайте пароли, которые можно легко угадать, например, имя вашей девушки/друга/супруга. Это удивительно распространенная плохая практика, которая безмерно помогает взломщикам. В общем, не выбирайте слова в словаре; существуют программы, называемые взломщиками словарей, которые ищут вероятные пароли, просматривая списки слов с наиболее частыми вариантами. Хорошая техника — подобрать комбинацию, состоящую из слова, цифры и другого слова, например «shark6cider» или «jump3joy»; это сделает пространство поиска слишком большим для взломщика словарей. Однако не используйте эти примеры — взломщики могут ожидать этого после прочтения этого документа и добавления их в свои словари.

Теперь давайте рассмотрим третий случай:

snark:~$ ls -ld ~ drwxr-xr-x 89 пользователей esr 9216 27 июня 11:29 /home2/esr snark:~$

Этот файл является каталогом (обратите внимание на букву «d» в первом слоте разрешений). Мы видим, что его может написать только esr, а прочитать и выполнить кто угодно другой.

Разрешение на чтение дает вам возможность составить список каталогов, то есть просмотреть имена файлов и каталогов, которые в нем содержатся. Разрешение на запись дает вам возможность создавать и удалять файлы в каталоге. Если вы помните, что каталог включает в себя список имен содержащихся в нем файлов и подкаталогов, эти правила будут иметь смысл.

Разрешение на выполнение для каталога означает, что вы можете получить доступ к каталогу, чтобы открыть файлы и каталоги, расположенные ниже него. По сути, это дает вам разрешение на доступ к i-узлам в каталоге. Каталог с полностью отключенным выполнением был бы бесполезен.

Иногда вы увидите каталог, который доступен для всех, но не для чтения; это означает, что случайный пользователь может получить доступ к файлам и каталогам под ним, но только зная их точные имена (каталог не может быть указан).

Важно помнить, что права на чтение, запись или выполнение для каталога не зависят от разрешений для файлов и каталогов, расположенных ниже.В частности, доступ на запись в каталог означает, что вы можете создавать в нем новые файлы или удалять существующие файлы, но не дает вам автоматически права на запись в существующие файлы.

Наконец, давайте посмотрим на разрешения самой программы входа в систему.

snark:~$ ls -l /bin/login -rwsr-xr-x 1 root bin 20164 17 апреля 12:57 /bin/login

У этого есть разрешения, которые мы ожидаем для системной команды, за исключением того, что "s", где должен быть бит владельца-исполнения. Это видимое проявление специального разрешения, называемого set-user-id или битом setuid .

Бит setuid обычно присваивается программам, которым необходимо предоставить обычным пользователям привилегии root, но контролируемым образом. Когда он установлен для исполняемой программы, вы получаете привилегии владельца этого файла программы, пока программа работает от вашего имени, независимо от того, совпадают ли они с вашими собственными.

Как и сама учетная запись root, программы setuid полезны, но опасны. Любой, кто может подорвать или изменить программу setuid, принадлежащую пользователю root, может использовать ее для создания оболочки с привилегиями root. По этой причине открытие файла для записи автоматически отключает бит setuid на большинстве Unix. Многие атаки на безопасность Unix пытаются использовать ошибки в программах setuid, чтобы разрушить их. Поэтому системные администраторы, заботящиеся о безопасности, очень внимательно относятся к этим программам и неохотно устанавливают новые.

При обсуждении разрешений выше мы упустили несколько важных деталей; а именно, как группа-владелец и разрешения назначаются при первом создании файла или каталога. Группа является проблемой, поскольку пользователи могут быть членами нескольких групп, но одна из них (указанная в записи пользователя /etc/passwd) является группой пользователя по умолчанию и обычно владеет файлами, созданными пользователем.

История с начальными битами разрешения немного сложнее. Программа, которая создает файл, обычно указывает разрешения, с которыми она должна начинаться. Но они будут изменены переменной в среде пользователя, называемой umask. Маска umask указывает, какие биты разрешений следует отключить при создании файла; наиболее распространенным значением и значением по умолчанию в большинстве систем является -------w- или 002, что отключает бит мировой записи. Для получения подробной информации см. документацию по команде umask на странице руководства вашей оболочки.

Начальная группа каталогов также немного сложна. В некоторых системах Unix новый каталог получает группу по умолчанию создавшего пользователя (это в соглашении System V); на других он получает группу владельцев родительского каталога, в котором он создан (это соглашение BSD). В некоторых современных системах Unix, включая Linux, последнее поведение можно выбрать, установив set-group-ID для каталога (chmod g+s).

Ранее намекали, что файловые системы могут быть хрупкими. Теперь мы знаем, что для того, чтобы получить доступ к файлу, вам нужно пройти через сколь угодно длинную цепочку ссылок на каталоги и i-узлы. Теперь предположим, что на вашем жестком диске появилось плохое место?

Если вам повезет, он уничтожит только некоторые данные файла. Если вам не повезет, это может повредить структуру каталогов или номер i-узла и оставить целое поддерево вашей системы в подвешенном состоянии или, что еще хуже, привести к поврежденной структуре, которая несколькими путями указывает на один и тот же блок диска или i- узел. Такие повреждения могут распространяться обычными операциями с файлами, уничтожая данные, которых не было в исходном плохом месте.

К счастью, такие непредвиденные обстоятельства стали редкостью, поскольку дисковое оборудование стало более надежным. Тем не менее, это означает, что ваш Unix будет периодически проверять целостность файловой системы, чтобы убедиться, что все в порядке. Современные Unix выполняют быструю проверку целостности каждого раздела во время загрузки, непосредственно перед его монтированием. Каждые несколько перезагрузок они будут проводить гораздо более тщательную проверку, которая занимает на несколько минут больше времени.

Если все это звучит так, как будто Unix ужасно сложна и подвержена сбоям, может быть приятно узнать, что эти проверки во время загрузки обычно выявляют и устраняют обычные проблемы до того, как они станут действительно катастрофическими. Другие операционные системы не имеют этих средств, что немного ускоряет загрузку, но может привести к гораздо более серьезным проблемам при попытке восстановления вручную (и это при условии, что у вас есть копия Norton Utilities или что-то еще).

Одной из тенденций в современных разработках Unix является журналирование файловых систем. Они организуют трафик на диск таким образом, что он гарантированно находится в согласованном состоянии, которое может быть восстановлено при резервном копировании системы. Это значительно ускорит проверку целостности во время загрузки.

Что такое хранилище файлов и когда оно наиболее полезно? В этом руководстве дается определение файлового хранилища, объясняются его преимущества и рассматриваются некоторые типичные варианты использования.

Что такое хранилище файлов?

Файловое хранилище, также называемое файловым или файловым хранилищем, представляет собой метод иерархического хранения, используемый для организации и хранения данных на жестком диске компьютера или в сетевом хранилище (NAS).В файловом хранилище данные хранятся в файлах, файлы организованы в папки, а папки организованы в виде иерархии каталогов и подкаталогов. Чтобы найти файл, вам или вашей компьютерной системе нужен только путь — от каталога к подкаталогу, от папки к файлу.

Иерархическое хранилище файлов хорошо работает с легко организованными объемами структурированных данных. Но по мере роста количества файлов процесс извлечения файлов может стать громоздким и трудоемким. Масштабирование требует добавления большего количества аппаратных устройств или постоянной замены их устройствами большей емкости, что может быть дорогостоящим.

В некоторой степени эти проблемы с масштабированием и производительностью можно смягчить с помощью облачных служб хранения файлов. Эти сервисы позволяют нескольким пользователям получать доступ и совместно использовать одни и те же файловые данные, расположенные в удаленных центрах обработки данных (облаке). Вы просто платите ежемесячную абонентскую плату за хранение своих файловых данных в облаке, и вы можете легко увеличить емкость и указать критерии производительности и защиты данных. Кроме того, вы избавляетесь от расходов на обслуживание собственного оборудования на месте, поскольку эта инфраструктура управляется и обслуживается поставщиком облачных услуг (CSP) в его центре обработки данных. Это также называется инфраструктурой как услугой (IaaS).

Файловое хранилище, блочное хранилище и объектное хранилище

Хранение файлов было популярным методом хранения на протяжении десятилетий — оно знакомо практически каждому пользователю компьютера и хорошо подходит для хранения и организации транзакционных данных или управляемых томов структурированных данных, которые можно аккуратно хранить в базе данных на диске. на сервере.

Однако многие организации в настоящее время испытывают трудности с управлением растущими объемами цифрового веб-контента или неструктурированных данных. Если вам нужно хранить очень большие или неструктурированные объемы данных, вам следует рассмотреть блочное или объектное хранилище, которое по-разному организует данные и обеспечивает доступ к ним. В зависимости от различных требований к скорости и производительности ваших ИТ-операций и различных приложений вам может потребоваться комбинация этих подходов.

Блокировать хранилище

Блочное хранилище обеспечивает большую эффективность хранения (более эффективное использование доступного оборудования для хранения) и более высокую производительность, чем файловое хранилище. Блочное хранилище разбивает файл на фрагменты (или блоки) данных одинакового размера и сохраняет каждый блок отдельно по уникальному адресу.

Вместо жесткой структуры каталогов/подкаталогов/папок блоки можно хранить в любом месте системы. Чтобы получить доступ к любому файлу, операционная система сервера использует уникальный адрес, чтобы объединить блоки в файл, что занимает меньше времени, чем навигация по каталогам и файловым иерархиям для доступа к файлу. Блочное хранилище хорошо подходит для критически важных бизнес-приложений, транзакционных баз данных и виртуальных машин, которым требуется низкая задержка (минимальная задержка). Это также обеспечивает более детальный доступ к данным и стабильную производительность.

В следующем видео Эми Блеа рассказывает о различиях между блочным и файловым хранилищем:

Блочное хранилище и файловое хранилище (04:03)

Хранилище объектов

Хранилище на основе объектов стало предпочтительным методом архивирования данных и резервного копирования современных цифровых коммуникаций — неструктурированного медиа и веб-контента, такого как электронная почта, видео, файлы изображений, веб-страницы и данные датчиков, созданные Интернетом вещей ( Интернет вещей). Он также идеально подходит для архивирования данных, которые не часто меняются (статические файлы), например больших объемов фармацевтических данных или файлов музыки, изображений и видео.

Объекты – это отдельные блоки данных, хранящиеся в структурно плоской среде данных. Опять же, здесь нет папок, каталогов или сложных иерархий; вместо этого каждый объект представляет собой простой автономный репозиторий, включающий данные, метаданные (описательную информацию, связанную с объектом) и уникальный идентификационный номер. Эта информация позволяет приложению найти объект и получить к нему доступ.

Вы можете объединять устройства хранения объектов в более крупные пулы хранения и распределять эти пулы хранения по местоположениям. Это обеспечивает неограниченное масштабирование и улучшенную отказоустойчивость данных и аварийное восстановление. Объекты могут храниться локально, но чаще всего размещаются на облачных серверах с доступом из любой точки мира.

IBM Cloud Object Storage: создано для бизнеса (04:10)

Преимущества

Если вашей организации требуется централизованный, легкодоступный и недорогой способ хранения файлов и папок, хорошим решением будет хранилище на уровне файлов. К преимуществам файлового хранилища относятся следующие:

  • Простота. Хранение файлов — это самый простой, привычный и понятный подход к организации файлов и папок на жестком диске компьютера или устройстве NAS. Вы просто называете файлы, помечаете их метаданными и сохраняете их в папках в иерархии каталогов и подкаталогов. Нет необходимости писать приложения или код для доступа к вашим данным.
  • Общий доступ к файлам. Хранилище файлов идеально подходит для централизованного хранения и обмена файлами в локальной сети (LAN). Файлы, хранящиеся на устройстве NAS, легко доступны любому компьютеру в сети, имеющему соответствующие права доступа.
  • Общие протоколы. В файловом хранилище используются общие протоколы файлового уровня, такие как блок сообщений сервера (SMB), общая файловая система Интернета (CIFS) или сетевая файловая система (NFS). Если вы используете операционную систему Windows или Linux (или обе), стандартные протоколы, такие как SMB/CIFS и NFS, позволят вам читать и записывать файлы на сервер под управлением Windows или Linux через вашу локальную сеть (LAN).< /li>
  • Защита данных. Хранение файлов на отдельном устройстве хранения данных, подключенном к локальной сети, обеспечивает определенный уровень защиты данных в случае сбоя сетевого компьютера. Облачные службы хранения файлов обеспечивают дополнительную защиту данных и аварийное восстановление за счет репликации файлов данных в нескольких географически разнесенных центрах обработки данных.
  • Экономичность. Хранение файлов с помощью устройства NAS позволяет перемещать файлы с дорогостоящего компьютерного оборудования на более доступное устройство хранения данных, подключенное к локальной сети. Кроме того, если вы решите подписаться на облачное хранилище файлов, вы избавитесь от расходов на обновление оборудования на месте и связанных с этим текущих затрат на техническое обслуживание и эксплуатацию.

Случаи использования

Хранилище файлов — это хорошее решение для самых разных потребностей в данных, включая следующие:

  • Локальный общий доступ к файлам. Если ваши потребности в хранении данных в целом непротиворечивы и просты, например, для хранения файлов и обмена ими с членами рабочей группы в офисе, подумайте о простоте хранения на уровне файлов.
  • Централизованная совместная работа с файлами. Если вы загружаете, храните и делитесь файлами в централизованной библиотеке, расположенной на сайте, за его пределами или в облаке, вы можете легко совместно работать над файлами с внутренними и внешними пользователями или с приглашенными гостями. вне вашей сети.
  • Архивирование/хранение. Вы можете экономично архивировать файлы на устройствах NAS в среде небольшого центра обработки данных или подписаться на облачное хранилище файлов для хранения и архивирования своих данных.
  • Резервное копирование/аварийное восстановление. Вы можете безопасно хранить резервные копии на отдельных устройствах хранения, подключенных к локальной сети. Или вы можете подписаться на облачное хранилище файлов, чтобы реплицировать файлы данных в нескольких географически разнесенных центрах обработки данных и получить дополнительную защиту данных за счет удаленности и избыточности.

Облачное хранилище файлов (или хостинг для хранения файлов)

Сегодня средства связи быстро перемещаются в облако, чтобы получить преимущества подхода к общему хранилищу, который по своей сути оптимизирует масштаб и затраты. Вы можете сократить локальную ИТ-инфраструктуру своей организации, используя недорогое облачное хранилище, сохраняя при этом доступ к своим данным, когда они вам нужны.

Подобно локальной системе хранения файлов, облачное хранилище файлов, также называемое хостингом хранилища файлов, позволяет нескольким пользователям совместно использовать одни и те же данные файлов. Но вместо того, чтобы хранить файлы данных локально на устройстве NAS, вы можете хранить эти файлы вне офиса в центрах обработки данных (в облаке) и получать к ним доступ через Интернет.

Благодаря облачному хранилищу файлов вам больше не нужно обновлять оборудование для хранения данных каждые три-пять лет или планировать расходы на установку, обслуживание и персонал, необходимый для управления им. Вместо этого вы просто подписываетесь на услугу облачного хранилища за предсказуемую ежемесячную или годовую плату. Вы можете сократить штат ИТ-специалистов или перенаправить эти технические ресурсы в более прибыльные области вашего бизнеса.

Хранение файловых данных в облаке также позволяет увеличивать емкость по мере необходимости и по запросу. Облачные службы хранения файлов обычно предлагают простые, предварительно определенные уровни с различными уровнями емкости хранилища и требованиями к производительности рабочей нагрузки (общее количество операций ввода-вывода в секунду или IOPS), а также защиту данных и репликацию в другие центры обработки данных. для обеспечения непрерывности бизнеса — и все это за предсказуемую ежемесячную плату. Или вы можете увеличивать или уменьшать количество операций ввода-вывода в секунду и динамически расширять объемы данных, платя только за то, что вы используете.

Существуют стратегические преимущества облачных хранилищ на основе подписки, особенно для организаций с несколькими площадками и крупных организаций. К ним относятся простота совместного использования в сети местоположений, аварийное восстановление и простота добавления инноваций и технологий, которые появятся в будущем.

Файловое хранилище и IBM Cloud

Решения IBM Cloud File Storage надежны, быстры и гибки. Вы получите защиту от потери данных во время обслуживания или сбоев благодаря шифрованию данных в состоянии покоя, а также дублированию томов, моментальным снимкам и репликации. Благодаря центрам обработки данных IBM, расположенным по всему миру, вы можете быть уверены в высоком уровне защиты данных, репликации и аварийного восстановления.

IBM Cloud предлагает четыре предварительно определенных уровня Endurance с ценами за гигабайт (ГБ), которые фиксируют ваши расходы, обеспечивая предсказуемую почасовую или ежемесячную оплату для ваших краткосрочных или долгосрочных потребностей в хранении данных. Уровни File Storage Endurance поддерживают производительность до 10 000 (10 000) операций ввода-вывода в секунду на ГБ и могут удовлетворить потребности большинства рабочих нагрузок, независимо от того, требуется ли вам производительность с низкой, универсальной или высокой интенсивностью.

Благодаря IBM File Storage вы сможете увеличивать или уменьшать количество операций ввода-вывода в секунду и расширять существующие тома на лету. Кроме того, вы можете дополнительно защитить свои данные, подписавшись на функцию IBM Snapshot, которая создает доступные только для чтения образы вашего тома хранилища файлов в определенных точках, из которых вы можете легко восстановить свои данные в случае случайной потери или повреждения.

Подпишитесь на бесплатную двухмесячную пробную версию и бесплатно начните разработку в IBM Cloud.

Если вы хотите быстро освободить место в памяти на компьютере с Windows, лучший способ сделать это — найти большие файлы на компьютере с Windows 10 и избавиться от них, если они больше не нужны. Однако вопрос в том, как вы ищете большие файлы на своем компьютере?

В Windows есть несколько способов найти все большие файлы, хранящиеся на ваших дисках. Либо вы можете использовать встроенные инструменты на своем компьютере для поиска этих файлов, либо вы можете использовать стороннее приложение, которое сделает эту задачу за вас. В любом случае вы найдете файлы, занимающие значительную часть памяти.

Как только такие файлы будут найдены, вам решать, что с ними делать. Если вы не хотите сразу удалять их навсегда, вы можете переместить их в облачное хранилище или на внешний жесткий диск.

Кроме того, обязательно ознакомьтесь с нашим видео на YouTube с нашего дочернего сайта Online Tech Tips, где мы рассмотрим некоторые из вариантов, упомянутых ниже в этой статье.

Поиск больших файлов в Windows 10 с помощью проводника

Проводник имеет множество скрытых функций, позволяющих упорядочивать, сортировать и находить файлы на компьютере. Одной из его возможностей является помощь в поиске файлов определенного размера на вашем компьютере. С помощью этой функции вы можете найти эти файлы, занимающие много места в памяти, и удалить их с вашего ПК.

Прежде чем вы это сделаете, вам необходимо сначала включить параметр скрытых файлов. Это делается для того, чтобы проводник искал большие скрытые файлы в дополнение к поиску обычных файлов.

Однако будьте осторожны при работе со скрытыми файлами. В большинстве случаев это системные файлы и файлы, связанные с приложениями, удаление которых приведет к сбоям в работе ваших приложений и даже к сбою всей системы. Прежде чем что-либо удалять, просто убедитесь, что знаете, что это такое, и все будет в порядке.

Откройте меню "Пуск", найдите "Показать скрытые" и нажмите "Показать скрытые файлы и папки".

Когда откроется диалоговое окно, щелкните вкладку "Вид" вверху. Вы увидите различные параметры File Explorer, которые вы можете изменить.

Найдите параметр «Показать скрытые файлы, папки и диски» и поставьте напротив него галочку. Затем нажмите кнопку ОК, чтобы сохранить изменения.

Дважды щелкните Этот компьютер на рабочем столе, чтобы запустить Проводник. Когда утилита запустится, щелкните поле поиска в правом верхнем углу.

Новый пункт меню будет добавлен в верхнюю часть экрана. Нажмите на только что добавленный элемент с надписью «Поиск», чтобы просмотреть дополнительные параметры.

Выберите параметр «Размер», а затем выберите соответствующий параметр из списка. Это позволит вам найти большие файлы, доступные на вашем компьютере.

Если то, что вы считаете большим файлом, недоступно в меню по умолчанию, введите размер:> 1 ГБ (замените 1 ГБ на свой размер) в поле поиска и нажмите Enter. Он будет искать только те файлы, размер которых превышает указанный вами размер.

Когда появятся результаты поиска, щелкните правой кнопкой мыши пустое место и выберите "Сортировать по", а затем "Размер и по убыванию". Это гарантирует, что самый большой файл будет показан вверху результатов.

Поиск больших файлов в Windows 10 с помощью командной строки

Если вы более склонны к компьютерным играм, вы можете использовать утилиту командной строки, чтобы получить список всех файлов, размер которых превышает указанное значение. Список файлов можно экспортировать в текстовый файл, чтобы вы могли найти эти файлы на своем компьютере.

Нажмите Windows + R, введите cmd и нажмите Enter, чтобы запустить утилиту.

Когда он запустится, введите следующую команду и нажмите Enter. Он найдет все файлы размером более 1 ГБ. Вы можете изменить значение команды, чтобы она находила файлы, которые вы считаете большими.

forfiles /S /M * /C «cmd /c if @fsize GEQ 1073741824 echo @path > largefiles.txt

Откройте только что созданный файл largefiles.txt, и в нем будет список всех больших файлов, находящихся на вашем компьютере.

Используйте средство поиска больших файлов для поиска больших файлов в Windows 10

Проводник и командная строка — не единственные инструменты для поиска больших файлов на вашем компьютере с Windows 10. Есть также несколько сторонних приложений, которые могут помочь вам найти такие файлы.

Largest Files Finder — одно из тех приложений, которые помогут вам найти 100 самых больших файлов на вашем компьютере. Он утверждает, что сканирование дисков размером до 200 ГБ занимает всего минуту. Кроме того, он не требует установки и работает прямо из коробки.

  • Скачайте и запустите приложение на своем компьютере.
  • При запуске автоматически начинается поиск больших файлов на вашем компьютере. Когда это будет сделано, вы сможете сами просмотреть результаты.

Если вы хотите удалить какие-либо файлы из результатов поиска, вы можете легко сделать это прямо в приложении. Просто щелкните правой кнопкой мыши любой из файлов и выберите "Удалить".

Находите самые большие файлы в Windows 10 с помощью TreeSize Free

TreeSize Free существует уже довольно давно и помогает находить файлы, занимающие много места на компьютерах с Windows. Это требует небольшой установки, но потом работает как шарм.

  • Загрузите, установите и запустите приложение на своем компьютере. Убедитесь, что вы запускаете его с правами администратора, чтобы он мог выполнять поиск в папках, которые не могут выполняться другими способами.
  • Вы увидите дерево ваших папок и место, которое они занимают на вашем экране. Вы можете дважды щелкнуть любую папку, чтобы просмотреть ее подпапки и их размеры.

Затем вы можете отсортировать каталоги по столбцу Размер, чтобы самые большие файлы всегда отображались вверху.

У него также есть несколько настраиваемых параметров, если вы захотите их использовать. Не стесняйтесь экспериментировать с любыми параметрами, которые, по вашему мнению, облегчат поиск больших файлов на вашем компьютере.

Махеш помешался на технологиях с тех пор, как десять лет назад у него появился первый гаджет. За последние несколько лет он написал ряд технических статей для различных онлайн-изданий, включая, помимо прочего, MakeTechEasier и Android AppStorm. Прочитать полную биографию Махеша

Понравился ли вам этот совет? Если это так, загляните на наш канал YouTube на нашем родственном сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите кнопку ниже, чтобы подписаться!

Читайте также: