Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Индексные дескрипторы




Ядро хранит информацию о каждом файле в структуре, называемой индексным дескриптором. Таблицы индексных дескрипторов формируются при создании файловой системы. Размер этих таблиц и их расположение на диске фиксированы и никогда не изменяются. Каждый индексный дескриптор содержит около 40 отдельных порций информации, большая часть которых используется только ядром. В основном для пользователя системы интерес представляют только некоторые из них: количество ссылок, владелец, группа, права доступа, размер, время последнего обращения, время последней модификации и тип файла. Вся эта информация может быть получена с помощью команды ls. Вообще команда ls имеет более 40 различных аргументов, подробное описание которых можно найти, обратившись к соответствующей документации, однако для достаточно детального получения информации о файлах часто достаточно команды ls -lg (старые BSD-системы) или ls –l (ATT- и новые BSD-системы). Например, рассмотрим строку, полученную с помощью команды

 

ls –lg /bin/sh

 

1 8

-rwxr-xr-x 1 root bin 85924 Nov 15 2000 /bin/sh

 

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

 

Тип файла Символ Создается командой Удаляется командой
Обычный файл - редакторы, cp и др. Rm
Каталог d mkdir rmdir, rm –r
Байт-ориентированный файл устройства c mknod Rm
Блок-ориентированный файл устройства b mknod Rm
Доменное гнездо UNIX s socket(2) Rm
Именованный канал p mknod Rm
Символическая ссылка l ln –s Rm

 

Следующие 9 символов в 1 поле – это 3 набора битов кода прав доступа. Эти биты имеют только двоичные значения, но в листинге донной команды – представлены буквами r, w, x (чтение, запись, выполнение). В нашем примере владелец имеет все права доступа, группа и остальные пользователи – на чтение и выполнение.

Если бы был установлен бит смены идентификатора пользователя, то вместо буквы x, обозначающей право владельца на выполнение, стояла бы буква s. Аналогично, если бы был установлен бит смены идентификатора для группы, то вместо буквы x для группы тоже стояла бы буква s. Если на файл установлен sticky-бит, то вместо буквы x для прочих пользователей стояла бы буква t. Бывают случаи, когда при установленных битах смены идентификатора пользователя, группы или sticky-бита не установлены биты выполнения для владельца, группы или прочих пользователях. В этом случае вместо соответствующих букв s и t эти биты представляются соответственно как S и T.

Следующее поле листинга показывает количество ссылок на файл. В нашем примере в этом поле стоит 1, что говорит о том, что /bin/sh – единственное имя в системе, под которым данный файл известен. Каждый раз, при создании жесткой ссылки значение этого поля увеличивается на единицу. Каждый каталог имеет, как минимум, 2 ссылки: ссылку из родительского каталога и ссылку из специального файла ``.`` внутри самого каталога.

Два следующих поля – владелец и группа файла. В данном случае владельцем является root, а группа, которой принадлежит данный файл – bin. На самом деле ядро хранит эту информацию не в строковом, а в числовом виде, а именно – как ID пользователя и группы. Если же строковые значения имен определить невозможно, то эти поля содержат ID владельца и группы.

 

Следующее поле – размер файла в байтах.

Затем следует дата последнего изменения: 15 ноября 2000 года.

И наконец последнее поле – это имя файла: /bin/sh.

Для файла устройства команда ls выдает несколько иную информацию. Например, листинг команды ls –lg /dev/ttya:

 

crw-rw-rw- 1 root daemon 12, 0 Nov 15 2000 /dev/ttya

 

Из листинга видно, что это является файлом байт-ориентированного устройства, доступ по чтению и записи к которому имеют все пользователи системы. В основном поля такие же, как и у обычного файла, за исключением того, что вместо размера файла в байтах показаны старший и младший номера устройства. /dev/ttya – это первое устройство, управляемое драйвером устройства 12.

Команда chown используется для изменения владельца файл, а некоторых системах также позволяет изменять владельца и группу файла одновременно. Команда chgrp предназначена для изменения группы файла. В системах ATT-типа для запуска chown необходимо быть владельцем файла или привилегированным пользователем, а в BSD-системах – только привилегированным пользователем, а для запуска chgrp – в обоих системах - владельцем файла и входить в новую группу, или привилегированным пользователем. Синтаксис команд chown и chgrp аналогичен синтаксису команды chmod заисключением того, что первым аргументом является имя нового владельца или новой группы. Пример:

 

chmod 0555 prog

chown andy prog

chgrp student prog

 

Эта последовательность команд, выполненная от имени привилегированного пользователя задает права на чтение и выполнение файла с именем prog для всех пользователей, затем – назначает файлу нового владельца – пользователя с именем andy, а далее – относит файл к группе student.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 471; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.