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




страница7/42
Дата15.02.2017
Размер6.16 Mb.
Просмотров1232
Скачиваний0
ТипАнализ
1   2   3   4   5   6   7   8   9   10   ...   42
Заключение
В этой главе было продолжено рассмотрение вопросов безопасности, имеющих отношение к пользователям и группам. Сначала было рассказано о двух схемах членства пользователей в группах: группа по умолчанию и частные группы пользователей. Затем я рассказал о том, как сменить группу входа в систему и как выполнить подстановку пользователя. После чего были рассмотрены вопросы безопасности пользователей, в том числе как лучше всего защитить пользователей от самих себя и от других пользователей, обеспечив при этом требуемые возможности по доступу к файлам. Наконец, была затронута тема паролей и рассказано, какие пароли следует считать хорошими, а какие — плохими.
Материал этой главы логически продолжает изложенное в первой главе. Вместе эти две главы дают сведения, необходимые для понимания материала следующих двух глав.


Файлы и права доступа
3
В данной главе рассматриваются следующие вопросы:
- какую роль файлы играют в операционной системе Linux;
- типы файлов;
- права доступа к файлам;
- настройка прав доступа по умолчанию;
- изменение прав доступа.
В этой главе рассказывается о файлах как таковых и о правах доступа к ним в частности. В ней продолжается разговор о пользователях и группах, начатый в главах 1 и 2, и рассматривается их связь с файлами и правами доступа.
Linux: файловая система
Linux — это файловая система. И потому все устройства, имеющиеся в вашей Linux-системе — принтеры, дисководы, жесткие диски и т. д., — представляются в ней в виде файлов. В результате все, что можно сделать с файлом, можно сделать и с устройством. Как и в файл, в устройство можно передавать информацию при помощи программ или каналов и аналогичным же образом получать информацию из него. Получение информации из устройства не имеет особого смысла для устройств типа принтера, который может только принимать файлы для печати. Тем не менее и экрану, на который вы смотрите, и остальным устройствам (модему, принтеру, жесткому диску, разделам диска и т. д.), каждому из них в
Linux соответствует свой файл.
Управляет всем этим хозяйством ядро системы. Когда кто-то запрашивает доступ к устройству, ядро определяет, обладает ли запрашивающая сторона правами доступа к соответствующему файлу устройства.
При этом происходит анализ идентификаторов пользователя (UID), запросившего доступ, и идентификаторов всех групп (GID), к которым принадлежит данный пользователь. На основании этого анализа выносится вердикт, разрешить запрошенный доступ или нет.
Типы файлов
В Linux имеется несколько различных типов файлов. О них и пойдет речь далее. После чего мы обсудим этот вопрос с точки зрения безопасности.
Выполнив команду ls -la, можно получить много разнообразной информации о файлах каталога, в том числе и о том, к какому типу принадлежит тот или иной файл. Рассмотрим список файлов некоего каталога, в котором содержатся файлы различных типов:
drwxr-xr-x24 root root
2048 Sep 4 00:01 . drwxr-xr-x20 root root
1024 Aug 26 19:09 .. drwxr-xr-x3 root root
1024 Jul 22 22:17 .civctp crw-rw-r--1 root root
29, 0 Aug 5 09:12 fbO brw-rw-rw-1 root root
2, 0 Jul 27 19:14 fdO
-rw-r--r-- 1 root root
694 Sep 2 21:02 foo srwxrwxrwx1 root root
0 Sep 3 19:18 mysql.sock prw------- 1 root root
0 Sep 3 19:14 initctl lrwxrwxrwx1 root root
4 Aug 5 08:49 sh -> bash
Обратите внимание на самый левый столбец. В этом столбце содержатся символы d, d, d, с, b, -, s, p, l.
Каждый из этих символов соответствует определенному типу файла (см. табл. 3.1). Символ «d» обозначает каталог (от английского слова «directory»). Каталоги тоже являются файлами, однако некоторые файловые
операции для них просто не имеют смысла и потому не приводят к ожидаемым результатам. Самые первые два каталога списка, то есть каталоги с именами «.» и «..», имеют предопределенное значение. Точка всегда соответствует текущему каталогу, две точки — родительскому каталогу. Исключением является корневой каталог (/), для которого имя «..» соответствует ему самому, а не каталогу верхнего уровня. Подкаталог с именем «..» присутствует в каждом каталоге файловой системы Linux, благодаря чему для перемещения вверх по дереву каталогов всегда можно использовать простую команду «cd ..». Два специальных каталога с именами «.» и «..» можно рассматривать как ссылки, более того, они ими и являются. Так как эти два каталога являются ссылками, то эти ссылки можно разорвать. В этом случае команда cd .. будет вести себя так же, как и для корневого каталога, то есть при ее выполнении вы останетесь в том же каталоге, в котором и были. Для осуществления низкоуровневых операций над диском, которые невозможно выполнить обычными средствами, можно воспользоваться программой debugfs. В частности, эту программу можно использовать для разрыва ссылки «..», однако следует помнить, что многие программы и сценарии полагаются на эту ссылку, так что действовать нужно обдуманно.
ВНИМАНИЕ
Разрыв ссылки может иметь далеко идущие последствия. Поэтому не делайте этого, если вы не до конца
понимаете, к чему могут привести ваши действия.

Таблица 3.1. Типы файлов
Обозначение типа
Тип _____________________________Примеры ___________

Обычный файл
___________________
Файлы данных, текст, программы d
Каталог
__________________________
/bin b
Блочное устройство
_______________
/dev/hda (первый жесткий диск
_________________________________
на первом IDE-интерфейсе) с
Символьное устройство
____________
/dev/ttyS1 (аналог com2 в DOS)
s
Сокет
___________________________
/dev/log р
Именованный канал (named pipe)
____
/dev/inictl (именованный эквивалент

_________________________________
операции «|»)
I
Символическая ссылка
_____________
/dev/modem -> /dev/ttyS1
Но вернемся к списку файлов. В нем присутствует еще один каталог, в начале имени которого стоит символ точки (.). Информация о файлах, имена которых начинаются с точки (по-английски их называют dot
files), при обычном запуске команды ls не отображается. Чтобы получить информацию о таких файлах, необходимо в командной строке ls указать ключ -а. В остальном это вполне обычные файлы, большинство которых являются файлами конфигурации. Информация об этих файлах скрывается не из соображений безопасности, а для удобства. Как правило, такие файлы являются служебными (их используют многие программы, например командная оболочка bash), поэтому обычные пользователи напрямую с ними не работают. Чтобы эти файлы лишний раз не отвлекали внимание обычных пользователей, операционная система скрывает их, отображая информацию о них только тогда, когда это действительно нужно. Однако не стоит использовать этот механизм для того, чтобы утаить что-либо от пользователей. Если вы хотите блокировать доступ к какому-либо файлу, лучше использовать для этой цели соответствующую конфигурацию разрешений на доступ.
Следующие два файла (помеченные буквами с и b) являются файлами устройств. Первое устройство является символьным, второе — блочным. Традиционно все файлы устройств располагаются в каталоге
/dev. При желании, однако, их можно хранить и в другом месте, например, на гибком диске или в оперативной памяти (на виртуальном диске). Когда ядро получает запрос на использование файла устройства, оно сначала узнает из информации о файле, какой драйвер (модуль) управляет этим устройством, после чего данный драйвер используется для работы с устройством в соответствии с правами доступа, назначенными файлу этого устройства. Различие между символьными и блочными устройствами заключается в том, что символьные устройства передают данные последовательно, символ за символом, тогда как блочные устройства передают данные параллельно, обычно 8 байт за раз, и не посимвольно, а целыми блоками.
Тут вы должны были бы насторожиться. Если доступ к устройству осуществляется через файлы, то выходит, что любой пользователь может создать файл устройства, например, в своем домашнем каталоге или на гибком диске и смонтировать его. Таким образом он получит это устройство в полное свое распоряжение. Совершенно верно. Поэтому крайне не рекомендуется разрешать обычным пользователям бесконтрольно создавать и монтировать файлы устройств. На самом деле не все так просто. Файлы устройств считаются специальными, поэтому только пользователь root (иначе говоря, обладатель нулевого идентификатора пользевателя) может выполнять предназначенную для создания файлов устройств программу mknod. Таким образом, от вас требуется обеспечить, чтобы никто не смог смонтировать раздел
(на жестком диске или просто гибкий диск), содержащий активные файлы устройств. Хорошей мерой предосторожности является также проверка наличия файлов устройств в подкаталогах каталога /home. Для
этой процедуры можно использовать следующие две строчки:
find /home -type b -print find /home -type с -print

ССЫЛКА
Подробней о монтировании файловых систем рассказывается в главе 5.
На самом деле вопрос, нужны ли обычному пользователю файлы устройств в его домашнем каталоге, является спорным. Настолько спорным, что вам обязательно следует обсудить его с пользователями, в домашних каталогах которых обнаружились эти файлы.
Следующий файл, с типом «-», является обычным файлом. К категории обычных файлов относится большинство файлов в системе Linux. В эту категорию входят исполняемые файлы, файлы данных или файлы с текстовым содержимым (обыкновенные текстовые файлы ASCII, файлы сценариев, многие конфигурационные файлы и т. п.).
В следующей строке листинга показан файл типа «s», то есть сокет. В данном случае это сокет программы mysql Среди сведений, выводимых на экран по команде netstat -а, можно обнаружить следующую строку:
unix О [АСС] STREAM LISTENING 12210 /tmp/mysql.sock
Таким образом вы можете убедиться в том, что это действительно активный сокет, через который программа ожидает поступления данных (сокет относится к категории LISTENING). Подробней о сокетах рассказывается в следующих главах книги.
ССЫЛКА
Команда netstat обсуждается в главе 10.
После сокета размещается информация о файле, являющимся именованным каналом (named pipe).
Файлы этого типа обозначаются символом «р». Назначение именованного канала точно такое же, как и у любого другого канала: он передает данные, выводимые одной программой, на вход другой программы.
Последний файл листинга является символической ссылкой (symbolic link). Символическую ссылку иногда называют мягкой ссылкой (soft link). Файл символической ссылки — это указатель, который указывает на другой файл или каталог. Файл, на который указывает ссылка, называется целевым файлом
(target file). Содержимое самого целевого файла в файле символической ссылки не хранится, файл символической ссылки содержит в себе только сведения о том, в каком месте файловой системы расположен целевой файл. Поэтому удаление целевого файла оставляет все указывающие на него символические ссылки в подвешенном состоянии, поскольку они более никуда не указывают. Файл символической ссылки всегда создается без каких-либо ограничений на доступ, однако при работе с символической ссылкой используются права на доступ к файлу, на который указывает эта ссылка. Для
Macintosh приблизительным аналогом символической связи является псевдоним (alias), а для Windows — ярлык (shortcut).
ПРИМЕЧАНИЕ
На диске информация о файле хранится в блоке, называемом индексным дескриптором или inode (information node).
Файл принадлежит каталогу, если номер его индексного дескриптора встречается среди номеров индексных
дескрипторов, перечисленных в файле каталога. Индексный дескриптор содержит всю важную информацию о
файле, такую как номер индексного дескриптора, тип файла, права доступа, номер версии, идентификаторы группы
и пользователя, размер, время последнего доступа (atime), время создания (ctime), время модификации (mtime), номера
блоков, содержащих данные файла, и прочее. Содержимое индексного дескриптора можно посмотреть с помощью
программы debugfs.
Кроме символической ссылки в Linux существует еще один похожий тип файлов, который называется «жесткая ссылка» (hard link) или просто ссылка (link). Понять смысл этой концепции поможет другой список файлов, содержащий информацию, выводимую при указании ключей -i и -I:
20512 -rwxr-xr-x 3 root root 49280 Jul 27 19:37 gunzip
20512 -rwxr-xr-x 3 root root 49280 Jul 27 19:37 gzip
20512 -rwxr-xr-x 3 root root 49280 Jul 27 19:37 zcat
Сведения, выдаваемые командой ls при указании этих ключей, практически идентичны предыдущим,
только в данном случае слева появился новый столбец, в котором для всех трех записей указано число
20512. В этом столбце выводится номер индексного дескриптора (inode) файла. Индексный дескриптор — это место, в котором хранится вся важная информация о файле. Говоря иначе, в индексном дескрипторе хранится вся информация о файле, выводимая командой ls, а также другая важная информация. Обратите внимание, что три файла с различными именами обладают одним и тем же индексным дескриптором (в самом левом столбце стоит одно и то же число). Это означает, что три различных файловых имени на самом деле соответствуют одному и тому же файлу. Если посмотреть на размер файла, то можно убедиться, что во всех трех случаях он один и тот же, а именно 49 280 байт. Таким образом, команда ls выводит не список файлов каталога, а список принадлежащих каталогу ссылок на файлы. Файл же представляет собой некоторый набор данных, идентифицируемый при помощи номера индексного дескриптора (inode). Получается, что сам по себе файл не привязан к какому-либо каталогу и не обладает именем, однако на него может указывать одна или несколько ссылок, которые могут располагаться в разных местах файловой системы. Файл существует, пока есть хотя бы одна указывающая на него ссылка.
Поэтому только удаление самой последней из всех указывающих на файл ссылок является действительно значимым и приводит к потере информации, содержащейся в этом файле. Число, содержащееся в столбце непосредственно слева от первого появления слова root, соответствует количеству ссылок, указывающих на файл. Например, если удалить файл zcat, то с файлами gunzip и gzip ничего не случится, однако вместо числа 3 в третьем столбце будет стоять число 2. На вновь созданный каталог всегда указывают две ссылки.
Первая из них содержится в родительском каталоге. Вторая содержится в самом созданном вами каталоге.
Эта ссылка обладает именем «.» и указывает на каталог, в котором она содержится. Если счетчик ссылок, указывающих на некоторый каталог, равен единице, значит, для этого каталога ссылка с именем «.» разорвана. Напомню, что помимо ссылки с именем «.» во вновь созданном каталоге автоматически появляется ссылка с именем «..», которая указывает на родительский каталог.
Жесткие ссылки ссылаются на номера индексных дескрипторов (inode), каждый из которых уникален в пределах одной файловой системы, поэтому жесткие ссылки не могут указывать на файл, расположенный в другой файловой системе или на другом разделе диска. Символические ссылки, напротив, могут указывать на файлы, располагающиеся в других разделах и на других дисках. Владельцем символической ссылки назначается создавший ее пользователь, но для определения прав на доступ используется набор разрешений целевого файла. Таким образом, хотя создать символическую ссылку, указывающую на файл, может любой пользователь, при использовании этой ссылки для доступа к целевому файлу система может отказать этому пользователю в доступе. Решение будет приниматься на основании набора разрешений целевого файла. Если у пользователя, обращающегося по ссылке, недостаточно прав для доступа к целевому файлу, ему будет отказано, хотя, повторюсь, сама символическая ссылка, то есть файл этой ссылки, не имеет никаких ограничений на доступ. При обращении по жесткой ссылке информация о правах на доступ к файлу и сведения о владельце файла извлекаются из индексного дескриптора файла.
Базовые разрешения на доступ к файлу
Взгляните на еще один листинг:
-rwxr-xr-x
I root root 3164 Jul 27 20:27 arch
-rwxr-xr-x
1 root root 317504 Jul 27 22:22 bash
-rwxr-xr-x
1 root root 464564 Jul 28 02:54 bash2
•rwxr-x---
1 root root 34236 Jul 28 09:37 box
-rwxr-xr-x
1 root root 11856 Jul 28 09:37 build_menu
Irwxrwxrwx
1 root root 5 Aug 5 08:50 bunzip2 -> bzip2
Irwxrwxrwx 1 root root 5 Aug 5 08:50 bzcat -> bzip2
-rwxr-xr-x
1 root root 57404 Jul 27 20:11 bzip2
-rwxr-xr-x
1 root root 7152 Jul 27 20:11 bzip2recover
-rwxr-xr-x
1 root root 9240 Jul 27 21:12 cat
-rwxr-xr-x
1 root root 11692 Jul 27 21:38 chgrp
-rwxr-xr-x
1 root root 11820 Jul 27 21:38 chmod
-rwxr-xr-x
1 root root 12164 Jul 27 21:38 chown
-rwxr-xr-x
1 root root 28204 Jul 27 21:38 cp
-rwxr-xr-x
1 root root 47448 Jul 27 19:32 cpio
Irwxrwxrwx
1 root root 4 Aug 5 09:02 csh -> tcsh
-rwxr-xr-x
1 root root 38132 Jul 27 22:59 ctags
Как вы уже знаете, самый первый столбец (в этом примере в нем содержатся символы «-» или «l») позволяет определить тип файла. В данном случае мы имеем дело с обычными файлами и с символическими ссылками. Следующие девять столбцов можно разбить на три группы по три столбца каждая. Эти девять столбцов содержат информацию о разрешениях на доступ к файлу. В Linux эти
сведения называются также режимом (mode) файла. Первые три столбца определяют режим доступа для владельца файла, следующие далее три столбца определяют режим доступа для группы, наконец, последние три столбца определяют режим доступа для всех остальных пользователей. Символ «г» означает право на чтение (Read), «w» — на запись (Write), «x» — выполнение (eXecute). Таким образом, для большинства файлов из этого листинга назначены следующие наборы разрешений: владельцу файла разрешается чтение, запись и выполнение (rwx), группе, обладающей файлом, разрешается чтение и выполнение (r-х), остальным пользователям также разрешается чтение и выполнение (г-х). На уровне индексного дескриптора файлов (inode) разрешения на доступ обозначаются тремя восьмеричными числами. Для обозначения разрешений на доступ к файлу используется диапазон значений от 0 до 7, или, в двоичной системе исчисления, от 000 до 111. Каждый из битов этого числа соответствует одному из трех разрешений: «rwx». Разрешению на выполнение соответствует первый (самый младший) бит, разрешению на запись соответствует второй бит, на чтение — третий. Если изначально все три бита сброшены, то чтобы разрешить исполнение файла, необходимо добавить к этому значению единицу (1), чтобы разрешить чтение, следует добавить двойку (2), а чтобы разрешить запись — следует добавить четверку
(4). Сумма любых комбинаций этих трех значений дает значение из диапазона от 0 до 7. Таким образом, полный набор разрешений на доступ к файлу (режим файла) может быть идентифицирован числом из диапазона от 000 до 777. Первый разряд этого числа определяет права владельца файла, второй — права группы владельца, а третий — права всех остальных пользователей. Рассмотренному нами ранее набору разрешений «rwxr-xr-x» соответствует число 755. Такой режим доступа устанавливается для большинства утилит, доступных для всех пользователей системы. Чтобы назначить файлу этот набор разрешений, необходимо выполнить команду chmod 755 имя_файла. Описание разрешений на доступ содержится в табл. 3.2.
Таблица 3.2. Разрешения на доступ в восьмеричном виде
Разрешения на доступ Восьмеричный эквивалент Комментарии

-------- 000
Числа соответствуют трем группам
разрешений на доступ
- -х- -х—х 111
Каждое такое число получается путем
сложения чисел (4, 2 и 1), соответствующих установленным
разрешениям
-w - -w - - w -
222 rwxr-x--x = 751
-wx-wx-wx 333
r--r--r-- 444
r-xr-xr-x 555
rw-rw-rw- 666
rwxrwxrwx 777
Вслед за разрешениями на доступ в листинге располагается столбец числа ссылок, за которым следуют столбцы имен владельца и группы (в оставшихся столбцах выводится размер, дата и время модификации, а также имя файла). Когда ядро операционной системы получает от пользователя, программы или командной оболочки запрос на доступ к файлу, оно первым делом смотрит на UID субъекта, запросившего доступ. Если этот UID совпадает с идентификатором (не именем) владельца файла, ядро определяет набор допустимых операций в отношении файла на основании того, какие из первых трех битов набора разрешений для данного файла установлены. Если UID обращающегося к файлу субъекта не совпадает с UID владельца файла, осуществляется сравнение GID субъекта, обращающегося к файлу с GID группы, к которой принадлежит файл. Если эти два идентификатора совпадают, для определения набора допустимых операций используются разрешения, предоставленные группе, владеющей файлом. Если ни
UID, ни GID не совпадают, то субъект, запросивший доступ к файлу, попадает в категорию «остальные». В этом случае используются разрешения, определяемые третьей группой битов. В качестве примера рассмотрим четвертую строку листинга. Разрешения на доступ здесь таковы: владелец — чтение, запись, выполнение; группа — чтение, выполнение; «остальные» — прав нет (для данного примера я немного изменил эту строку). Таким образом, режим доступа к файлу равен 750. Владельцем файла является пользователь root, поэтому если доступ к файлу box запросит пользователь с нулевым значением UID
(например, пользователь root), ему будет предоставлено разрешение на чтение, запись и выполнение этого файла. Если UID запросившего доступ не равен нулю, анализу подвергается его GID. Если GID запросившего доступ равен нулю, пользователь сможет читать и выполнять файл, однако не сможет записывать в него данные. Если ни UID, ни GID обратившегося к файлу пользователя не равны нулю, этому пользователю будет отказано в доступе, так как для категории «остальные» никаких разрешений на доступ к этому файлу не предоставляется.
ПРИМЕЧАНИЕ
Сопоставление прав доступа по идентификаторам завершается при первом же совпадении.

При анализе набора разрешений сравнение идентификаторов выполняется до тех пор, пока не будет найдено первое совпадение. Это означает, что если UID пользователя совпадает с UID владельца файла и этот пользователь пытается получить доступ к файлу с режимом 055, ему будет отказано в доступе, даже если этот пользователь принадлежит к группе, владеющей файлом. Режим доступа 055 означает, что владельцу файла не предоставлено никаких разрешений на доступ к файлу, при этом группе, владеющей файлом (впрочем, как и всем остальным пользователям), предоставлены разрешения на чтение и выполнение файла. Определение прав на доступ, предоставленных пользователю, завершится на первом совпадении идентификаторов, поэтому если пользователь является владельцем файла, групповые права для него рассмотрены не будут. Таким образом, возможны ситуации, когда пользователь является владельцем файла, но доступ к нему получить не может.
Однако удалить такой файл все равно можно. При отсутствии у владельца доступа на запись в файл попытка его удаления приведет к выдаче ядром запроса «Delete file overriding mode 0055? (y/n)», что в переводе означает: «удалить файл несмотря на режим доступа 0055 (да/нет)». В результате положительного ответа на этот запрос файл будет удален. Однако в данном случае владелец файла не сможет выполнить в отношении этого файла никаких других операций.
Если вы хотите выполнить сценарий командной оболочки, вы должны обладать в отношении соответствующего файла как правом на выполнение, так и правом на чтение. Однако чтобы выполнить компилированную программу, достаточно обладать правом на ее выполнение. Причина в том, что компилированные программы запускаются ядром операционной системы, пользователь не сможет запустить их как-либо иначе. В то же время для того, чтобы выполнить сценарий оболочки, необходимо обладать возможностью чтения инструкций, содержащихся в файле сценария. Если пользователь не обладает такой возможностью, он не сможет выполнить сценарий. Однако если пользователь обладает правом чтения файла сценария и при этом не обладает правом выполнения этого файла, он все равно сможет выполнить этот файл, задав его имя в качестве параметра интерпретирующей программы:
perl myperlsript.pl или sh myshellscript.sh
ПРИМЕЧАНИЕ
Имя сценария оболочки не обязано заканчиваться на «.sh», равно как и имя сценария на языке Perl — на «.pl». Это
просто соглашение, используемое автором, чтобы отличать файлы сценариев оболочки от файлов сценариев на
языке Perl.
Определить, чем является данный файл — исполняемым бинарным файлом, сценарием оболочки, текстовым документом или чем-то еще, поможет программа file. Признаки, по которым программа определяет вид файла, хранятся в /usr/ share/misc/magic. Определения новых видов файлов следует помещать в /etc/magic.
Разрешения на доступ для каталогов трактуются несколько иначе, чем для файлов. Как и у любого другого файла, у каталога есть владелец и группа. Однако для каталогов права на запись, чтение и выполнение имеют другое значение, не такое, как для файлов. Наличие права на чтение позволяет тому, для кого оно установлено, то есть владельцу, группе и/или остальным пользователям просматривать содержимое каталога. Иными словами, если вы обладаете правом чтения каталога, значит, вы можете получить список имен файлов, содержащихся в этом каталоге. Но то обстоятельство, что вы можете прочитать имя файла, вовсе не означает, что вы можете прочитать его содержимое. Сами файлы, содержащиеся в этом каталоге, могут оказаться недоступными для чтения.
Разрешение на запись позволяет тому, для кого оно установлено, записывать что-либо в каталог.
Этого разрешения может оказаться, однако, недостаточно для изменения уже существующего файла или его удаления. Возможность изменения или удаления файла определяется специальными разрешениями, устанавливаемыми для этого конкретного файла. Но вы можете создавать в каталоге новые файлы.
Наличие права на выполнение позволяет переходить в этот каталог при помощи команды cd. Если вы не обладаете правом выполнения каталога, это не лишает вас возможности читать список файлов каталога, создавать в нем новые файлы или удалять существующие. Однако войти в этот каталог, не имея доступа на выполнение, вы не сможете.
Примером каталога, для которого имеет смысл не устанавливать все разрешения одновременно, является каталог incoming на ftp-сервере. Обычно этому каталогу назначают следующие разрешения на доступ:
drwx-wx-wx 2 root ftp
1024 Jul 8 12:47 incoming
При таких правах любой пользователь ftp-сервера сможет поместить файлы в этот каталог, но видны они будут только суперпользователю и только суперпользователь сможет прочесть их. Для любого другого пользователя каталог будет выглядеть пустым. Это позволяет оградить ftp-сервер, поддерживающий закачку файлов, от нежелательного использования этой возможности анонимными пользователями

(например, для обмена файлами через него, когда один пользователь закачивает их, а другой после скачивает).
ПРИМЕЧАНИЕ
Предоставление юридических советов не входит в задачи данной книги. Тем не менее примите к сведению, что есть
законы и по этой части, и потому владельцы системы, системные администраторы и/ или пользователи несут
юридическую ответственность за незаконные действия, производимые с системой. Это означает, что из-за вашей
халатности как системного администратора у вас могут возникнуть серьезные проблемы с законом.


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   10   ...   42


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал