ОС Knoppix - это Linux без проблем


Атрибуты файлов

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

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

Пользователь для входа в систему регистрируется, вводя свой пароль и имя. После этого он получает доступ к файловой системе. Для ускорения быстродействия системы используются идентификаторы пользователя UID и группы GID. Соответственно у атрибутов файлов имеется шаблон, который определяет принадлежность файла конкретному пользователю и группе. Если пользователь не является владельцем файла и не входит в состав группы, то он относится к прочим (others), которые имеют очень мало прав, а то и вовсе ими не обладают. Учитывая такой принцип деления пользователей, для описания прав доступа к файлам используется шаблон:
владелец группа прочие

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

Процессор в компьютере работает с битами, для которых используется двоичная система счисления, когда число записывается только символами ”1" и "О". Но с двоичным кодом человеку не удобно работать, поэтому программисты используют в работе восьмеричную и шестнадцатеричную1 системы счисления. Сравнение записей числа в различных системах счисления показаны в табл. 10.1.

Традиционно в Unix-системах используется восьмеричная система счисления для записи чисел, поэтому при чтении прав на файл можно встретить вот такую запись: 765 или 1777. Но во многих случаях для облечения понимания того, как распределяются права, используется запись атрибутов файла в виде
Шестнадцатеричная система счисления широко используется в конфигурационных файлах операционной системы Linux и в исходных текстах программ на языке C/C++.
символов "х", "w" и "г". Связь такого представления с цифровыми счислениями показана в правой колонке табл. 10.1. Такое символьное представление атрибутов файлов произошло от восьмеричной системы счисления, а также от того, что для идентификации каждого уровня пользователей используется три бита (тремя битами можно обозначить только восемь значений). В итоге, получилось следующее:
право исполнения (--х), сокр. от execute — исполнять;
право редактирования (-w-), сокр. от write — писать;
право чтения (г--), сокр. от read — читать.
Теперь рассмотрим примеры различных прав на файл.
Если существует файл, с которым любой пользователь может проводить любые операции, то он будет иметь следующие атрибуты: rwxrwxrwx
или
777
Для файлов данных, которые не являются программами и скриптами и которые могут читать и перезаписывать любые пользователи, используется следующий вариант (разрешено чтение и редактирование для всех):
rw-rw-rw-
ИЛИ
666
Когда владельцу файла необходимо сохранить конфиденциальную информацию, например это личное письмо, то следует установить следующие атрибуты:
rw
ИЛИ
600
Все, что было сказано об атрибутах файлов, касается и каталогов, но смысл прав несколько иной. Если у пользователя есть право на чтение (г) каталога, то это означает, что в данном каталоге он может вывести на экран содержимое этого каталога (а также скопировать содержимое каталога, но данная возможность зависит от других прав). Чтобы записывать и удалять в каталоге файлы, пользователь должен иметь право записи (w). Право на исполнение (х) для каталога означает, что пользователь может войти в каталог и просмотреть его содержание.

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

При просмотре файловой системы Linux в программе Midnight Commander в режиме расширенного формата отображения, можно заметить, что рассмотренные ранее атрибуты файлов предваряются еще одним символом, т. е. отображается 10 символов, а не 9. "Лишний” символ, который предваряет атрибуты прав доступа, обозначает тип файла:
обычный файл;
d — каталог;
1 — символическая ссылка;
ь — файл блочного устройства;

ОС Knoppix - это Linux без проблем


с — файл символьного устройства;
s — доменное гнездо;
р — именованный канал.

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

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...