Linux. Алексей СтахновЧитать онлайн книгу.
для файлов. Если установлены права доступа 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. На данный момент является самой популярной системой. Разработана с учетом совместимости с последующими версиями.
• Ext3 – модернизация файловой системы Ext2. Помимо некоторых функциональных расширений является журналируемой. Пока широкого распространения не получила. Конкурирующая журналируемая