Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы Весь текст 1372.6 Kb

SCO: Пособие администратора системы Unix

Предыдущая страница Следующая страница
1 ... 19 20 21 22 23 24 25  26 27 28 29 30 31 32 ... 118
темы. Одна из таких возможностей - очистка битов SGID и SUID при
записи в файл - является пассивной в том смысле,  что для своего
выполнения не требует никаких действий с вашей стороны,  т.е. со
стороны Администратора системы.  Другие возможности являются ак-
тивными, т.е.   вы можете использовать их или не использовать по
своему усмотрению. К числу таких активных возможностей, описыва-
емых ниже, относится специальное использование sticky-бита в ка-
талогах и использование променов. В настоящем разделе также опи-
сано импортирование файлов из других систем.

     Очистка битов SUID/SGID и sticky-бита при записи

     Операционная система обеспечивает очистку битов SUID,  SGID
и sticky-бита для файлов, в которые производится запись. Очистка
выполняется для  того,   чтобы предотвратить замещение программы
SUID/SGID или программы, считающейся резидентной в памяти.
     В следующем примере дважды демонстрируется очистка бита:

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -l myprogram
     -rwsrwsrwt    1 root  bin    10240  Jan 11 22:45 myprogram
     $ cat sneakyprog > myprogram
     $ ls -l myprogram
     -rwxrwxrwx    1 root  bin    10240  Mar 18 14:18 myprogram
     $
     $ ls -l anotherprog
     -rws------    1 blf   guru   83706  Dec 15  1987 anotherprog
     $ strip anotherprog
     $ ls -l anotherprog
     -rwx------    1 blf   guru   17500  Mar 18 14:19 anotherprog
     $

     Первый случай демонстрирует,  что очистка  бита  происходит
при записи в файлы,  принадлежащие другому пользователю.  Второй
случай показывает,  что очистка бита делается даже  для  файлов,
принадлежащих тому  же пользователю.  Следует иметь в виду,  что
очистка происходит при замещении файлов. Подправьте сценарий ус-
тановки, чтобы сбросить соответствующие режимы.
     Имея данную возможность,  вы можете  вводить  sticky-бит  в
пользовательские программы,  не опасаясь, что пользователь может
переключить программы в одном и том же файле.  Это  тот  случай,
.
                            - 5-49 -

когда дополнительная секретность позволяет вам  выполнить  функ-
цию, которую система может отслеживать, вместо того, чтобы прос-
то запретить эту возможность.
     Биты SUID,   SGID  и sticky в каталогах не очищаются.  Биты
SUID и SGID не имеют смыслового значения для каталогов, а значе-
ние sticky-бита  для  каталогов требует как раз его постоянства.
Это описывается ниже.

     Sticky-бит и каталоги

     Еще одно важное усовершенствование  касается  использования
sticky-бита в  каталогах.   Каталог с установленным sticky-битом
означает, что удалить файл из этого каталога может только владе-
лец файла  или супер-пользователь.  Другие пользователи лишаются
права удалять файлы.  Установить  sticky-бит  в  каталоге  может
только супер-пользователь.   Sticky-бит  каталога,  в отличие от
sticky-бита файла, остается в каталоге до тех пор, пока владелец
каталога или  супер-пользователь  не  удалит каталог явно или не
применит к нему chmod(C)  или chmod(S).  Заметьте,  что владелец
может удалить sticky-бит, но не может его установить.
     Вы можете с помощью этой возможности добиться  максимальной
секретности, поместив  sticky-бит  во все общие каталоги.  В эти
каталоги может писать любой пользователь,  отличный от админист-
ратора. Пользователям надо объяснить,  что sticky-бит,  вместе с
маской umask,  равной 077 (значение,  принимаемое по умолчанию),
дают решение  многих проблем в менее секретных системах.  Вместе
эти две возможности не дают пользователям изменять или  замещать
файлы общего каталога.  Единственная информация, которую они мо-
гут получить из файла, - это его имя и атрибуты.
     В следующем примере демонстрируется эффект данного средства.

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -al /tmp
     total 64
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:10 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rwxr-xr-x    1 blf   guru   19587  Mar 17 19:41 mine
     -rw-------    1 blf   guru     279  Mar 17 19:41 mytemp
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ rm /tmp/Ex16566
     rm: /tmp/Ex16566 not removed. Permission denied
                     (Файл ... не удален. Разрешение отвергнуто)
     $ rm /tmp/protfile
     rm: /tmp/protfile not removed. Permission denied
     $ cat /tmp/openfile
          Ha! Ha!
     You can't remove me.     (Ха-ха! Вы не можете меня удалить)
     $ rm /tmp/openfile
.
                            - 5-50 -

     rm: /tmp/openfile not removed. Permission denied
     $ rm -f /tmp/openfile
     $ rm /tmp/mine mytemp
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ cp /dev/null /tmp/openfile
     $ cat /tmp/openfile
     $ cp /dev/null /tmp/protfile
     cp: cannot create /tmp/protfile   (cp не может создать файл)
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys        0  Mar 18 21:19 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $

     Единственные удаленные файлы -  это  файлы,   принадлежащие
пользователю blf,  так как удаление проводил именно этот пользо-
ватель. Он не смог удалить никакой другой файл,  даже  доступный
файл /tmp/openfile. Однако значение режима самого файла позволя-
ло blf разрушить его содержимое; именно поэтому  значение  umask
необходимо для   защиты   данных.    И  наоборот,   режим  файла
/tmp/protfile  вместе со sticky-битом каталога /tmp  делает файл
/tmp/protfile недоступным.
     Во всех общих каталогах следует установить sticky-бит.  Это
относится к следующим каталогам (но не только к ним):
     *  /tmp
     *  /usr/tmp
     *  /usr/spool/uucppublic
     Если у   вас   есть  сомнения,   гораздо  лучше  установить
sticky-бит в каталоге, чем оставить его нулевым. Вы можете уста-
новить sticky-бит каталога следующей командой (здесь directory -
имя каталога):

        chmod u+t directory
.
                            - 5-51 -

     Промены

     Промен -  это  термин,    обозначающий   защищенный   домен
(Protected Domain),  где активизатор программы SUID получает не-
которую защиту из программы.  Для программы SUID при ее работе с
частью дерева  файлов,  выбранной активизатором,  обеспечивается
действительность проверки на доступ, как для владельца программы
SUID, так  и для активизатора.  Подробное описание этой модели с
примерами применения приведено в разделе promain(M) "Справочника
пользователя" (User's  Reference).   Промены также обсуждаются в
разделах auths(C) и setauths(S).
     Промены - это инструмент,  предназначенный для исследования
программ SUID4; они не имеют общезначимого  смысла.   Вы  должны
иметь о   них представление,  чтобы помочь пользователям отлажи-
ваться в их среде.

     Импортирование данных

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

     Файлы

     Нельзя принимать  на  веру  разрешения для чужого файла.  В
каждой системе не только файлы /etc/passwd и /etc/group  отличны
от аналогичных  файлов  других  систем,  но и стратегии в разных
системах диктуют установку разных режимов.  Эти соображения осо-
бенно важно  учитывать,  когда импортируемые файлы являются сис-
темными файлами.
     Чтобы свести к минимуму свое вмешательство и подчистку пос-
ле импортирования файлов,   нужно  приучить  всех  пользователей
системы пользоваться опциями архивных программ, которые не отме-
няют принадлежность файлов. Некоторые версии tar(C) поддерживают
опцию -o, которая не аннулирует принадлежность файла владельцу и
группе. Владельцем  файла является импортировавший его пользова-
тель. Программа  cpio(C)  только меняет владельца файла, если ее
вызывает супер-пользователь.  В общем случае архивные  программы
сбрасывают режимы файлов, устанавливая их такими, как описано на
архивном носителе. Помимо того, что файл может получить режимы с
большими разрешениями,  чем это необходимо,  для него могут ока-
заться установленными биты SUID, SGID или sticky. Все эти ситуа-
ции чреваты проблемами с секретностью.
     Чтобы свести к минимуму эффект архивных разрешений, исполь-
зуйте те  архивные  опции,  которые только проверяют содержание,
ничего не извлекая.  Например, опция -tv функции tar и опция -tv
функции cpio позволяют увидеть режимы файлов на ленте и подгото-
виться к неблагоприятным эффектам при  извлечении  файлов.   При
поступлении незнакомых  каталогов  сначала следует импортировать
.
                            - 5-52 -

файлы в иерархию,  недоступную прочим пользователям. Затем вруч-
ную перенесите файлы,  предварительно подправив имена владельцев
и режимы в соответствии со стратегией вашей системы.

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

     При монтировании файловых систем,  созданных или  обрабаты-
вавшихся в другом месте,  могут возникнуть те же проблемы, что и
указанные выше для импортирования файлов.  Для  файловых  систем
имеются и две дополнительные проблемы.  Первая: файловая система
может быть запорчена.  Вторая:  разрешения для файла в  файловой
системе могут быть неприемлемы для вашей системы.
     Файловая система, перенесенная из другого места, может ока-
заться запорченной. Данные могут быть некорректны или предназна-
чаться для другого типа системы.  В обоих  случаях  монтирование
дефектной файловой системы может  вызвать  в  системе  фатальный
сбой, дальнейшую   порчу данных импортированной файловой системы
или повреждение других файловых систем из-за побочных  эффектов.
Именно поэтому  команда mount(ADM)  зарезервирована  для  супер-
пользователя. Программу fsck(ADM) следует выполнять во всех фай-
ловых системах до их монтирования.  Если файловая система содер-
жит системные данные, следует также выполнить программу System->
Software->Permissions.
     Импортированные файловые  системы  могут  содержать файлы с
разрешениями, не соответствующими вашей системе.  Может оказать-
ся, что  супер-пользователь импортированной файловой системы ус-
тановил имена владельцев,  sticky-биты,  специальные файлы, биты
SUID/SGID и композиции дерева файлов, несовместимые со стратеги-
ей вашей системы. Специальные файлы могут иметь владельцев и ре-
жимы, которые  вы не можете разрешить.  Программы с битами SUID,
SGID или sticky, установленными в другом месте, будучи смонтиро-
ваны, так  и работают в вашей системе и могут вызвать проблемы с
секретностью.
     Вы можете  воспользоваться  опцией  -s команды ncheck(ADM),
чтобы выявить некоторые проблемные файлы до монтирования. Файло-
вые системы,  как и файлы,  перед монтированием следует просмот-
реть. Когда файловая система впервые монтируется под  вашим  уп-
равлением, лучше  смонтировать  ее  в личном каталоге,  чтобы вы
могли вручную просмотреть файловую систему перед ее монтировани-
ем в надлежащем месте.  Проверьте организацию файлов, владельцев
и режимы файлов и ожидаемое использование файловой системы.
.
                            - 5-53 -

     Шифрование данных

     Предусмотрена дополнительная  защита  в  виде  программного
Предыдущая страница Следующая страница
1 ... 19 20 21 22 23 24 25  26 27 28 29 30 31 32 ... 118
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (1)

Реклама