Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат

Содержание


Дополнительные параметры различных файловых систем
ССЫЛКА Файловая система nfs рассматривается в главе 12.
Linux ext2
Fat, msdos, umsdos, vfat
Cd-rom iso9660
Подобный материал:
1   ...   19   20   21   22   23   24   25   26   ...   101

Дополнительные параметры различных файловых систем


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

Количество файловых систем, поддерживаемых в Linux, достаточно велико и с каждой новой версией ядра оно увеличивается. Здесь будут рассмотрены некоторые наиболее распространенные файловые системы, для остальных же вам придется заглянуть в соответствующую документацию. Больше всего параметров поддерживается в отношении файловых систем, используемых в однопользовательских операционных системах, таких как DOS и Macintosh. Из всех этих параметров будут рассмотрены лишь те, которые имеют непосредственное отношение к безопасности. Некоторые файловые системы обсуждаться здесь не будут, но не потому, что они не слишком распространены или же у них нет специфичных для них параметров, а потому, что среди этих параметров нет интересных с точки зрения безопасности. Это замечание относится к следующим файловым системам: coherent, ext (более не используется), minix, ncp, nfs, romfs, smbfs, sysv, ufs,

xenix и xiafs (использование не рекомендуется).


ССЫЛКА

Файловая система nfs рассматривается в главе 12.

Amiga affs

Среди параметров данной файловой системы есть несколько параметров, связанных с безопасностью. Как и обычные параметры, параметры безопасности могут быть указаны в командной строке (при этом пользователь, выполняющий монтирование, должен обладать идентификатором UID=0) или же в файле /etc/fstab. Начнем с параметров uid= и gid=. В соответствии со своим названием, эти параметры устанавливают указанные числа в качестве значений идентификаторов пользователя и группы для каталога, являющегося точкой монтирования файловой системы. Если эти параметры не указаны и отсутствуют в файле fstab, то для affs по умолчанию устанавливаются нулевые значения (uid=gid=0). Однако если в файле fstab присутствуют ключевые слова uid= и/или gid= без указания каких-либо числовых значений, то в качестве соответствующего идентификатора для корня файловой системы используется идентификатор UID/GID процесса (пользователя), выполняющего монтирование. Обычно это именно то, что нужно, но вы должны убедиться в том, что данный режим монтирования вам подходит.

Кроме параметров uid= и gid= есть еще параметры setuid= и setgid=, которые устанавливают владельца и/или группу для всех файлов файловой системы. Различие между параметрами setuid= и setgid= и параметрами uid= и gid= состоит в том, что первые определяют разрешения на доступ к файлам в рамках файловой системы, в то время как вторые определяют владельца всей файловой системы.

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

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

Linux ext2

Первыми рассмотрим параметр grpid (также известный как bsdgroups) и его антоним nogrpid (также известный как sysvgroups). По умолчанию используется nogrpid. Использование параметра grpid дает тот же эффект, что и установка бита SGID на каталог, но в масштабе всей файловой системы: при создании файла ему назначается группа каталога, а не группа инициировавшего создание пользователя. При наличии параметра nogrpid все происходит наоборот: при создании файла ему назначается группа пользователя, как это принято в версиях Unix ветви System V.


ПРИМЕЧАНИЕ -

BSD и SysV по-разному трактуют идентификаторы группы для каталогов. Что касается Linux, то в этой ОС сделана попытка объединения всего лучшего из обеих ветвей, и в данном случае выиграл подход SysV. В других случаях, таких как утилиты командной строки, предпочтение отдано подходу BSD, поэтому все утверждения о принадлежности Linux к той или иной ветви верны лишь отчасти.

Далее перейдем к параметрам resgid= и resuid=. В ext2 некоторый процент свободного дискового пространства файловой системы является зарезервированным. Размер этого пространства указывается при создании файловой системы (по умолчанию резервируется 5 % от размера раздела), в дальнейшем же это число можно изменить с помощью программы tune2fs. Параметры resgid= и resuid= задают идентификаторы группы и пользователя, которым разрешается использовать это зарезервированное пространство.


ВНИМАНИЕ

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

FAT, MSDOS, UMSDOS, VFAT

Сама по себе FAT не является файловой системой — это общая часть таких файловых систем, как MSDOS, UMSDOS и VFAT. Но поскольку это не просто общая, но неотъемлемая часть этих файловых систем, они будут рассмотрены все вместе, с указанием особенностей каждой отдельной системы.

Параметры uid= и gid= определяют значения идентификаторов UID/GID для всех файлов файловой системы. По умолчанию используются идентификаторы процесса, инициировавшего монтирование. Все файловые системы семейства FAT получают идентификаторы смонтировавшего их пользователя. Если это не то, что вам нужно, вы должны явно указать необходимые вам идентификаторы в файле /etc/fstab.

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

Теперь о параметре check=. Он может принимать три значения: г (relaxed), что означает ослабленная проверка, n (normal) — нормальная, и s (strict) — строгая. По умолчанию осуществляется нормальная проверка. С точки зрения безопасности здесь важно то, что нормальная проверка не отклоняет имена файлов, содержащие символы, допустимые в Linux, но не допустимые в MSDOS, такие как +, =, пробелы и т. п. Чтобы блокировать использование таких символов, следует использовать строгую проверку. Поэтому если предполагается, что между системой Microsoft и системой linux будет осуществляться обмен файлами, то , возможно, имеет смысл использовать строгую проверку.

Как известно, между текстовыми файлами DOS и Unix есть одно существенное различие: в DOS строка заканчивается символами возврата каретки и перевода строки, тогда как в Unix — просто символом перевода строки. Для управления преобразованием файлов служит параметр conv=. По умолчанию никакого преобразования не производится, а вообще этот параметр может принимать три значения: b (binary), t (text) и a (auto). Значение t предписывает осуществлять трансляцию между символами конца строки для всех файлов. Значение а — для всех файлов, за исключением тех, которые система считает бинарными. В данном случае система считает бинарными файлы, обладающие расширениями, перечисленными в файле /usr/src/linux/fs/fat/misc.c. Значение b предписывает системе вообще не осуществлять трансляцию.


ВНИМАНИЕ

Автоматическое преобразование может повредить файлы настолько, что их уже невозможно будет восстановить. Поэтому настоятельно рекомендуется полностью отключить преобразование и для решения проблемы пользоваться такими программами, как unix2dos/dos2unix или fromdos/todos (или же возможностями по преобразованию, встроенными в редактор vi).

Далее перейдем к параметру fat=, устанавливающему тип файловой системы. Возможные значения: 12 и 16. По умолчанию тип системы определяется автоматически, но с помощью параметра fat= его можно переопределить. Однако к использованию этого параметра следует подходить осторожно, поскольку при неправильном значении этого параметра любая запись в файловую систему может повредить содержащиеся в ней данные.

Кроме того, у семейства FAT есть такие параметры, которые лучше не использовать. Все они представляют собой грубые попытки внедрения в FAT соглашений Unix или DOS. К таким параметрам относятся: sys_immutable, showexec, dots, nodots, doysOK=[yes|no].

У VFAT есть дополнительный параметр — posix. Он позволяет использовать имена файлов, различающиеся только регистром символов.

OS/2 HPFS

Имеющие отношение к безопасности параметры HPFS представляют собой подмножество соответствующих параметров для FAT. А именно: uid=, gid=, umask=, conv=. Смысл их точно такой же как и для FAT. Отходить от значения по умолчанию b для параметра conv= крайне не рекомендуется.

CD-ROM ISO9660

В файловой системе обычного компакт-диска (без расширений, ISO9660) применяется стандартное соглашение об именах DOS в формате 8.3, и все имена используют верхний регистр символов. Никакой информации о владельцах, правах доступа и т. п. с файлами не ассоциируется. Такие компакт-диски сегодня редко где встретишь. В настоящее время в большинстве компакт-дисков используются расширения ISO9660: Rock Ridge или Joliet. При этом только расширение Rock Ridge применимо к ISO9660. Идея этого расширения заключается в использовании специальных файлов для отображения коротких имен в длинные и хранения информации о владельцах и правах доступа к файлам. Поддержка Rock Ridge пo умолчанию включена, однако есть параметр, позволяющий ее выключить. Так как компакт-диски всегда монтируются только для чтения, большинство параметров не столь важны для безопасности, как в случае с файловыми системами, монтируемыми и для записи.

По умолчанию файловая система ISO9660 монтируется с использованием значений uid=0 и gid=0. В этом она отличается от таких файловых систем, как AFFS, FAT и HPFS, которые по умолчанию монтируются с использованием идентификаторов UID/GID, позаимствованных у процесса, выполняющего монтирование. Если такое положение дел вас не устраивает, его можно переопределить при помощи параметров uid= и gid=.

Кроме того, можно также использовать параметры mode= и conv=, обсуждавшиеся ранее.

Параметр unhide разрешает отображение скрытых и ассоциированных файлов.

PROC

Файловая система /ргос на самом деле вовсе не является настоящей файловой системой. Тема эта настолько велика, что она будет отдельно рассмотрена в следующей главе. В отношении файловой системы ргос можно использовать только два параметра: uid= и gid=, однако на момент написания данной книги эти параметры никак не влияли на стандартное поведение системы ргос (по крайней мере, на компьютере автора с использованием ядра версии 2.2.12). Даже если в вашей системе эти параметры действуют, не существует никакой разумной причины, по которой ими следует воспользоваться.


СОВЕТ

Хотя значения по умолчанию в файле /etc/fstab можно и не указывать, это все-таки полезно сделать, поскольку благодаря этому вы сможете избежать проблем с безопасностью в случае, если в будущем значения по умолчанию по той или иной причине будут изменены.