Где хранятся таблицы i-узлов?

Команда usermod не работает, если у указанного пользователя есть процессы, запущенные под тем же именем пользователя, независимо от того, что вы пытаетесь изменить в этот аккаунт. Вам нужно либо убить все процессы, принадлежащие этому пользователю (в корпоративной среде, я должен вас предупредить, НЕ делать этого), либо просто отредактируйте файл / etc / passwd и измените все, что вам нужно, и в следующий раз, когда пользователь войдет в систему из нового сеанса, он или она будут иметь новые настройки.

3
30.01.2017, 19:46
2 ответа

Мой учитель сказал, что на каждом физическом диске есть таблица i-узлов, после которой идут данные файлов.

Это в целом верно. Точнее, в каждой файловой системе есть таблица индексных дескрипторов, и на каждом разделе есть отдельная файловая система. (Все может усложниться, но здесь нам не нужно вдаваться в подробности.)

Таблица inode файловой системы отображает номера inode в метаданные файла . Обычно это большой массив структур фиксированного размера. Например, номер элемента 1234 этого массива - это номер inode 1234. Inode содержит такую ​​информацию, как права доступа к файлу, время его модификации, тип файла и т. Д., А также указание того, где находится содержимое файла.

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

Это таблица, в которой имена файлов сопоставляются с номерами inode . То есть каталог представляет собой список записей (или некоторую более сложную структуру данных), и каждый элемент списка содержит имя файла и номер inode. Чтобы найти метаданные и содержимое файла, система считывает номер индексного дескриптора из каталога, а затем считывает указанную запись в таблице индексных дескрипторов. Чтобы найти файл по его пути, система начинает с корневого индексного дескриптора, находит, что это каталог, находит запись каталога для первого элемента, считывает его индексный дескриптор и т. Д.

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

1
27.01.2020, 21:18

Одно из заблуждений состоит в том, что inodes не являются атрибутом физических дисков, а являются атрибутом определенных файловых систем . Например, FAT32 не имеет индексных дескрипторов. Простое резюме иерархии может быть следующим:

Физические диски содержат несколько секторов . Это физические места на диске, на которых хранятся данные.

Физический диск обычно делится на разделов . Это логическое разделение (логически) непрерывной физической области хранения данных на диске.

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

Разделы (или логические тома) могут содержать файловых систем (например, ext3fs, VFAT, hpfs). Каждая файловая система самоорганизуется по-своему, отслеживая свою организационную структуру и тому подобное. Многие файловые системы, обычно развертываемые на хостах Linux (например, ext? Fs), используют для этой цели inode или эквивалентный механизм (например, reiserfs).

3
27.01.2020, 21:18

Теги

Похожие вопросы