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

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

Содержание


Режим доступа по умолчанию
Изменение разрешений на доступ к файлу
Подобный материал:
1   ...   14   15   16   17   18   19   20   21   ...   101

Режим доступа по умолчанию


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

Значение umask — это восьмеричное число, которое конъюнктируется либо с числом 0777, либо с числом 0666 (в зависимости от типа файла), в результате получается набор разрешений на доступ, назначаемый создаваемому файлу по умолчанию. Для тех, кто не знаком с булевой арифметикой, приведу другую формулировку: значение umask, рассматриваемое как восьмеричное число, вычитается либо из 0777, либо из 0666, в зависимости от типа файла. Полученное в результате вычитания число и является начальными правами доступа к файлу.

Тип файла влияет на начальный режим доступа следующим образом: если команда file показывает, что созданный файл является бинарным исполняемым файлом, значение umask вычитается из 0777, для всех остальных файлов значение umask вычитается из 0666.

В OpenLinux при входе пользователя в систему выполняется файл из/etc/config.d/ shells (обычно это bashrc), который и устанавливает значение umask пользователя. Для суперпользователя это значение равно 022, для обычного пользователя — 002. Таким образом, бинарным исполняемым файлам, создаваемым суперпользователем, по умолчанию назначается режим 755 (rwxr-x-r-x), а всем остальным файлам назначается режим 644 (rw-r--r--). Бинарным файлам, создаваемым обычными пользователями, назначается режим 775 (rwxrwxr-x), а всем остальным файлам назначается режим 664 (rw-rw-r--). Узнать текущее значение umask можно, выполнив команду umask без аргументов. Для изменения значения umask нужно вызвать эту команду с новым значением в качестве аргумента (например, umask 222).

Изменение разрешений на доступ к файлу


Управлять доступом к файлу позволяют команды chown и chmod. Первая из них меняет владельца файла, а вторая — режим доступа к файлу. Изменять владельца файла и режим доступа к файлу может только пользователь, обладающий соответствующими правами на доступ к файлу или каталогу. Если у вас нет разрешения на запись в файл или каталог, вы не сможете применить к нему эти команды. Команда chown принимает в качестве аргументов имена владельца и/или группы, за которыми следует имя файла или каталога, для которого их надо установить. Имя группы отделяется от имени владельца точкой. Например, допустим, что владельцем файла foo является пользователь silvia и что этот файл принадлежит группе silvia. Если вы намерены сделать владельцами этого файла пользователя root и группу gifs, вы должны выполнить следующую команду:

chown root.gifs foo

Если требуется изменить только имя владельца или группы, в команде можно указать только root или .gifs.

Команда chmod меняет режим доступа к файлу. Как и при использовании предыдущей команды, если у вас нет доступа на запись в файл или каталог, вы не сможете изменить его режим. Режим файла можно задавать в восьмеричном представлении, о котором говорилось ранее. Например, если значение umask для вас равно 002, то созданный вами файл сценария изначально будет обладать режимом 664. Попытка выполнения такого файла приведет к сообщению об ошибке «permission denied» (разрешение отсутствует). Вполне предсказуемый результат, поскольку файл сценария является не бинарным, а текстовым файлом, и потому разрешение на выполнение этого файла по умолчанию не назначается. Добавление права на выполнение означает изменение режима файла с 664 на 755 (rwxr-xr-x). Чтобы изменить режим указанным образом, следует выполнить команду:

chmod 755 filename

Иногда восьмеричное представление является не слишком удобным, например, если требуется изменить всего один бит режима. В таком случае можно воспользоваться другим способом настройки режима: для настройки режима в команде chmode указывается буква, оператор и еще одна буква.

Принцип здесь следующий: первая буква, а вернее буквы, задают, для кого следует изменить режим. Для этой цели используются буквы из набора u, g, о, а, где и обозначает владельца, g — группу, о — всех остальных пользователей, а — все три категории. После этого указывается один из операторов: +, = или -. Оператор + устанавливает указанный за ним бит, оператор - сбрасывает указанный за ним бит, а оператор = сбрасывает все биты, кроме указанного. После оператора указывается модифицируемый бит (г, w или х). Вернемся к примеру со сценарием. Если вы решили, что на самом деле вам нужен режим не 755, а 775, то добавить недостающий режим 020 можно командой:

chmod g+w filename

Этот метод позволяет устанавливать или сбрасывать лишь некоторые биты режима, оставляя остальные без изменений.

Заключение


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

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

4Атрибуты SUID/SGID для файлов и каталогов


В данной главе рассматриваются следующие вопросы:

- атрибуты SUID и SGID для файлов и каталогов;

- потенциальная опасность применения атрибутов SUID/SGID;

- контроль файлов с атрибутами SUID/SGID;

- изменение разрешений на доступ;

- специальные атрибуты файловой системы ext2;

- использование команды chattr;

- использование команды Isattr.

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

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