Linux - страница 31



Модификаторы прав доступа

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

• Sticky bit (Save Text Attribute) – «липкий» бит;

• SUID (Set User ID) – установка идентификатора пользователя;

• SGID – установка идентификатора группы.

Рассмотрим эти атрибуты подробнее.

• Sticky bit для файлов. В современных операционных системах потерял свое значение.

Sticky bit для каталогов. Если sticky bit установлен для каталога, то пользователь, несмотря на то, что ему разрешена запись в этот каталог, может удалять только те файлы, владельцем которых он является или к которым ему явно заданы права записи.

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

• SGID для файлов. Если установлены права доступа SGID, то это аналогично установке бита SUID, только вместо владельца файла используется группа владельца.

SGID для каталогов. В случае установки SGID для каталога файлы, содержащиеся в этом каталоге, будут иметь установки группы такие же, как у каталога.

Узнать о том, какие дополнительные права доступа к файлам и каталогам установлены, можно, используя команду is. Ниже приведен результат выполнения Is -l


-r-s–х–х 1 root root 13536 Июл 12 2000 passwd


Как видно из прав доступа, у этого файла установлен SUID-бит (буква s в списке прав доступа).

Файловые системы

Файловая система – это методы и структуры данных, которые используются операционной системой для хранения файлов на диске или в его разделе.

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

Основными понятиями в файловой структуре Linux (и в большинстве операционных систем UNIX-семейства) являются:

• суперблок;

• индексный дескриптор (inode);

• блок данных;

• блок каталога;

• косвенный блок;

• файл.

Подробную информацию см. в разд. «Физическая структура Ext2».

Типы файловых систем

Linux поддерживает большое количество типов файловых систем. Наиболее важные из них приведены ниже.

• Minix – старейшая файловая система, ограниченная в своих возможностях (у файлов отсутствуют некоторые временные параметры, длина имени файла ограничена 30-ю символами) и доступных объемах (максимум 64 Мбайт на одну файловую систему).

• Xia – модифицированная версия системы minix, в которой увеличена максимальная длина имени файла и размер файловой системы.

• Ext – предыдущая версия системы Ext2. В настоящее время практически не используется.

• Ext2 – наиболее богатая функциональными возможностями файловая система Linux. На данный момент является самой популярной системой. Разработана с учетом совместимости с последующими версиями.