Государственный Комитет по высшему образованию осударственный Комитет по высшему образованию московский госумосковский госу
Скачать 1.06 Mb.
|
стр. 63 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» 869K, tcsh -- Version 6.07.09, 487K) ; - Документация ( различные файлы HOWTO, FAQ, файлы мануалов ); Процесс инсталляции, деинсталляции, контроля целостности и учета производится при помощи утилиты RPM ( RedHat Pakage Manager ). RPM ведет собственную базу установленных приложений и компонент. В настоящее время огромное количество продуктов поставляется в rpm-формате. Установка таких пакетов чрезвычайно проста и не требует “ковыряния” в конфигурационных файлах. Помимо непосредственно rpm, существует X Window приложение Pakage Management, отображающее установленные пакеты в графическом окне и позволяющее деинсталлировать ненужные пакеты и добавлять необходимые с дистрибутивного диска RedHat ( Cм. Приложение 5 ). Однако, не все необходимые пргораммные продукты содержаться на инсталляционном диске, но практически все можно получить с анонимных FTP- серверов. Так, например, Apache 1.3.4 rus, netatalk 1.4b2+asun, ifmail 2.14, последняя версия Netscape Communicator были найдены и сгружены с соответствующих серверов. Данное программное обеспечение распространяется бесплатно. стр. 64 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» Кратко основную идею принадлежности объектов и процессов в UNIX- системах можно выразить так: “Пользователь должен иметь доступ только к тому, что необходимо”. Административное управление в системе UNIX отделено от общепользовательского доступа. Привелегированный пользователь в UNIX - это “полубог“, который может выполнять такие важные задачи, как управление процессами и подключение устройств. На процессы и файлы в ОС UNIX распространяется единая система принадлежности объектов. Преимущественное право контроля над файлом или процессом принадлежит владельцу. Права владельца могут отменяться только привелегированным пользователем. У каждого файла есть владелец и группа. Владелец файла имеет только одну привелегию, которая другим пользователям системы не доступна: он может изменять права доступа к файлу. В частности, владелец может установить права доступа так, что никто, кроме него, не сможет обращаться к данному файлу. Владелец файла - всегда один пользователь. Группа - один или несколько. Информация о группах хранится в файле /etc/group. Вот несколько строк из этого файла: root::0:root bin::1:root,bin,daemon daemon::2:root,bin,daemon wheel::10:root,dima,backup mail::12:mail news::13:news users::100:al,mount,unmount,dima,yura,little,irina,am,nadja,macmaster floppy:x:19: pppusers:x:230:dima,pppuser popusers:x:231: slipusers:x:232: postgres:x:233: netware::503:root,yura,dima,little web::504: mailonly::505: quoted:x:507:yura,little,macmaster dba:x:500:oracle,dba Владелец файла определяет, какие операции могут совершать над файлом члены группы. Помимо этого владелец файла определяет права доступа к файлу всех остальных пользователей, не входящих в группу. Подобная организация допускает коллективное использование файлов членами одной группы. Рассмотрим это на примере содержания системного раздела эмулятора NetWare, установленного на Linux-машине: стр. 65 2.5 Стратегия администрирования и управления 2.5 Стратегия администрирования и управления 2.5.1 Категории пользователей 2.5.1 Категории пользователей ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» [root@unix sys]# ls -l total 10 drwxr-xr-x 2 dima netware 1024 Apr 26 17:46 dima drwxr-xr-x 6 little netware 1024 Apr 1 12:47 little drwxr-xr-x 2 root root 1024 Aug 19 1998 login drwxr-xr-x 20 root root 1024 Mar 24 19:31 mail drwxr-xr-x 2 nadja netware 1024 May 31 14:36 nadja drwxr-xr-x 3 root root 1024 Mar 3 16:08 print drwxrwxr-x 27 dima netware 1024 Apr 13 18:39 public -rw-r--r-- 1 root root 138 Aug 19 1998 readme.txt drwxr-xr-x 2 root root 1024 Aug 19 1998 system drwxr-xr-x 2 yura netware 1024 Feb 27 22:38 yura Права к служебным каталогам login, print, mail и system принадлежат суперпользователю root. Каталоги yura, little, dima, nadja принадлежат соответствующим пользователям. Заметим, что остальные члены группы netware имеют право на исполнение и чтение файлов в этих каталогах. В то же время, каталог общего пользования public имеет биты записи, чтения и исполнения. UNIX отслеживает не символьные имена владельцев и групп (которые введены исключительно для удобства), а их идентификаторы. Идентификаторы пользователей ( сокращенно UID ) и соответствующие им имена пользователей хранятся в файле /etc/passwd, а идентификаторы групп ( GID ) и имена групп, отвечающие им, - в файле /etc/group. С учетом конкретной ситуации в сети фирмы необходимо и логическое деление пользователей Linux-машины. В этой системе высшую иерархию занимают пользователи, имеющие доступ к командному shell. Их немного, а возможность доступа к командной оболочке объясняется исключительной необходимостью управлять определенными процессами и файлами ( разумеется, в рамках их полномочий ). На ступень ниже - категория обычных пользователей. Их бюджеты существуют для поддержания почтовых ящиков и для осуществления процессов аутентификации, например, при обращении к ftp или smb серверу. И, наконец, третья группа - специальные бюджеты. Они выделяются для осуществления специфических действий. Отличительной чертой таких пользователей (скорее, именно бюджетов, а не пользователей ) является указание в последнем поле строки файла /etc/passwd нестандарных исполняемых модулей. Рассмотрим пример: mount:x:514:514::/home/mount:/usr/sbin/cdmount unmount:x:515:515::/home/unmount:/usr/sbin/cdunmount Здесь mount и unmount - фиктивные пользователи, необходимые для удаленного монтирования CD-ROM-накопителя сервера, соответственно /usr/sbin/cdmount и /usr/sbin/cdmount - специально написанные системным администратором сценарии, содержащие команды монтирования и отмонтирования диска. Вот другой пример: pppuser:x:507:508::/home/pppuser:/etc/ppp/ppplogin Положительная аутентификация псевдо-пользователя pppuser приводит к стр. 66 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» исполнению сценария /etc/ppp/ppplogin и к установлению PPP-соединения между сервером и удаленным компьютером. C привилегированным пользовательским доступом сопряжены три проблемы: безграничные полномочия, отсутствие учета, наличие операций, производить которые в праве только он (необходимость некоторых из которых может возникнуть в отсутствие root) . Поскольку полномочия привелегированного пользователя распределить нельзя, то трудно предоставить кому-то возможность снятия резервных копий ( что должно делаться под именем root ) не давая при этом полной свободы действий в системе. Программа sudo позволяет разрешать обычным пользователям выполнение (запуск) конкретно оговоренных задач, полномочиями на которые обладает суперпользователь root. Команда sudo обращается к файлу /etc/sudoers, содержащему список пользователей, имеющих полномочия на ее применение, и перечень команд, которые они имеют право использовать на конкреной машине. Если предлагаемая команда разрешена, sudo приглашает пользователя ввести его собственный пароль и выполняет команду как root. Все действия пользователей, осуществляемые с использованием sudo записываются в специальном регистрационном файле. В качестве конкреного примера следует упомянуть, что менеджеру компьютерного центра разрешено монтирование файловых разделов дополнительных жестких дисков и осуществлять внеочередные операции резервного копирования. Институт пользовательских бюджетов, групп и закрепленных за ними прав на процессы и файловые ресурсы позволяют системному администратору системы гибко управлять ресурсами сервера. стр. 67 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» Файловая система ОС Linux - ext2fs. Загрузочная часть файловой системы должна обязательно являться ext2fs, хотя Linux и может работать с различными файловыми системами. В терминологии Linux дисковые разделы называются следующим образом: hda1,hda2,hda3... - разделы одного физического носителя, подключенного к первому IDE-контроллеру в качестве ведущего (master); hdb1,hdb2,hdb3... - разделы одного физического носителя, подключенного к первому IDE-контроллеру в качестве ведомого (slave); hdc1,hdc2,hdc3... - разделы одного физического носителя, подключенного ко второму IDE-контроллеру в качестве ведущего (master); hdd1,hdd2,hdd3... - разделы одного физического носителя, подключенного ко второму IDE-контроллеру в качестве ведомого (slave); Стандарным средством разбиения дискового пространства является программа fdisk. Она позволяет изменять тип дисковых разделов, создавать и удалять их. Вот таблица разбиения основного жесткого диска нашей Linux- системы: Disk /dev/hda: 128 heads, 63 sectors, 621 cylinders Units = cylinders of 8064 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 605 2439328+ 83 Linux native /dev/hda2 606 621 64512 82 Linux swap Физический жесткий диск стандарта IDE объемом около 2.5 Гб, подключенный к IDE-контроллеру системной платы как primary master ( т.е. hda в терминологии Linux ), разбит на два раздела. Первый раздел инициализирован как ext2fs (Linux Native), на нем и распологается основная файловая система OС Linux. Второй раздел hda2 объемом 64 Мб отведен под swap-партицию. Он используется при нехватке системы физической оперативной памяти; часть оперативных данных простаивающих в конкретный момент разделов выгружается из оперативной памяти и размещается в виртуальной памяти swap-раздела. Программа fdisk распознает и может инициализировать файловые системы различных стандартов ( DOS FAT, HPFS OS/2, Win95 FAT 16/32, BSDI fs и другие ). Помимо основного дискового раздела hda1 в системе используется вспомогательный жесткий диск объемом около 500 Мб, подключенный как second- ary master и представленный как /hdc1 в терминологии Linux: Disk /dev/hdc: 16 heads, 63 sectors, 1057 cylinders Units = cylinders of 1008 * 512 bytes стр. 68 2.5.2 Файловые системы и управление дисковым пространством 2.5.2 Файловые системы и управление дисковым пространством ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» Device Boot Start End Blocks Id System /dev/hdc1 1 1057 532696+ 83 Linux native Раздел также отформатирован как ext2fs ( Linux native, тип 83 ) и используется для временного хранения больших объемов оперативных данных. Помимо упомянутых двух физических накопителей, к системе можно подключать еще до двух накопителей. Раздел, с которого происходит загрузка Linux, определяется конфигурационным файлом /etc/lilo.conf и соответсвующей ему записи MBR (Master Boot Record) на primary накопителе. Вообще, система начальной загрузки LILO ( LInux LOader ) позволяет выбирать до четырех различных систем во время начальной загрузки. Следует отметить, что в отличие, например, от Windows95, корень основной файловой системы Linux может рапологаться не на основном ведущем разделе ( primary master ). Помимо низкоуровневого средства разбиения и первичной инициализации разделов fdisk, в стандартной поставке Linux представлены средства проверки целостности файловых систем и их восстановления при обнаружении ошибок. Это такие утилиты как fsck, fsck.minix, fsck.ext2, e2fsck, fsck.xiafs. Вот пример проверки целостности файловой ситемы раздела /dev/hdc1: [root@unix /root]# fsck.ext2 /dev/hdc1 e2fsck 1.12, 9-Apr-98 for EXT2 FS 0.5b, 95/08/09 /dev/hdc1 has reached maximal mount count, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/hdc1: 3665/133640 files (0.7% non-contiguous), 295059/532481 blocks Форматирование ( собственно создание файловой системы на новом разделе) производится при помощи утилиты mkfs (Make fs). Информация о файловых разделах и параметрах их монтирования содержится в файле /etc/fstab: [root@unix init.d]# less /etc/fstab /dev/hda1 / ext2 exec,dev,suid,rw,usrquota,grpquota 1 1 /dev/hda2 none swap exec,dev,suid,rw 0 0 /dev/hdc1 /mnt/hdc ext2 exec,dev,suid,rw,usrquota,grpquota 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0 none /proc proc defaults 0 0 Во второй колонке указаны точки монтирования файловых систем, в первой - устройтсва им соответствующие. Третья колонка определяет тип файловой системы. Четвертая колонка описывает опции монтирования. Рассмотрим стр. 69 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» некоторые из них подробнее: usrquota и groupquota означают, что файловые квоты на данных разделах включены, опции rw и ro означают режимы чтения и записи и только чтения соответственно, параметр noauto запрещает автоматическое монтирование системы. Параметр user в строке, отвечающей за монтирование CD ROM, означает возможность монтирования устройства обычным пользователем. Все остальные системы монтируются и отмонтируются привелегированным пользователем root. Весьма интересна последняя строка файла: proc - виртуальная системная файловая система, предназначенная для хранения информации о процессах. Так, например, файл /proc/mounts содержит информацию о смонтированных на данный момент разделах: [root@unix /proc]# less ./mounts /dev/root / ext2 rw 0 0 /proc /proc proc rw 0 0 /dev/hdc1 /mnt/hdc ext2 rw 0 0 Ручное монтирование и отмонтирование файловых систем совершается командами mount и umount соответственно. Разумеется, отмонтирование раздела, файлы которого в текущим момент по какой-либо причине открыты, невозможно. Приведем пример использования команды mount для монтирования CD ROM: mount -t iso9660 /dev/cdrom /mnt/cdrom Первый параметр команды указывает на тип файловой системы, второй - физическое устройство, третий и последний - точку монтирования системы. Зачастую пользователи выходят за рамки разумных пределов использования дискового пространства сервера. Для этого в UNIX (да и в большинстве сетевых ОС) существует механизм квот. Квоты позволяют системному администратору ограничить количество индексных дескрипторов и дисковых блоков, которое может быть выделено каждому пользователю. Количество индексных дескрипторов грубо определяет, сколько файлов может принадлежать одному пользователю. Лимит дисковых блоков ограничивает общий объем пространства файловой системы, которое предоставляется для работы конкретному пользователю. В Linux система квот реализвона не только на уровне пользователей, но и на уровне групп, что позволяет более удобно управлять квотированием. Каждое из ограничений задается в виде пары чисел: нестрого лимита, по достижении которого пользователь предупреждается о возможном нарушении квоты, и строгого лимита, который определяет абсолютное ограничение данного ресурса. Команда edquota позволяет редактировать квоты пользователей и групп, команда quota позволяет просматривать текущее состояние квотируемых ресурсов: [root@unix pam.d]# quota little Disk quotas for user little (uid 509): Filesystem blocks quota limit grace files quota limit grace /dev/hda1 74426 100000 150000 1264 0 0 стр. 70 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» Команды quotaon, quotaoff позволяют, соответсвенно, включать и выключать дисковые квоты. Команда repquota выводит сводную таблицу дисковых квот по всем пользователям/группам и файловым системам. Файлы сводки дисковых квот quota.group и quota.user размещаются в корне файловых систем. На практике управление дисковыми квотами осуществляется при помощи системной утилиты linuxconf, которая обеспечивает удобство управление, наглядность и снабжена графическим интерфейсом ( См. Приложение 7 ). стр. 71 ДИПЛОМНЫЙ ПРОЕКТ : «Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС LINUX» Учет системных ресурсов системы - одна из забот системного администратора. Ядро Linux и различные системные программы ведут учетные записи о времени использования центрального процессора, количества сеансов работы пользователей, времени работы принтеров, модемов и ряда других ресурсов системы. Обычно файлы регистрации находятся в каталоге /var/log. Учетные файлы выполняют две главные задачи. Первая из них - информационная помощь в отладке работы системных и прикладных процессов. Второй причиной использования файлов регистрации является необходимость выявления несанкционированного доступа к системе. Основа учета системных ресурсов - система syslog. Специальные демоны sys- logd и klogd регистрирует сообщения ядра и системных процессов в файлах регистрации /var/log/messages, /var/log/secure, /var/log/maillog, /var/log/spooler. Многие системные и пользовательские программы ведут собственные файлы регистрации. Вот пример одного из регистрационных файлов Web-сервера Apache: 150.254.173.2 - - [26/Mar/1999:00:58:14 +0300] "GET /pcprice.html HTTP/1.0" 404 275 195.34.34.69 - - [26/Mar/1999:06:35:06 +0300] "GET /robots.txt HTTP/1.1" 404 285 195.34.34.69 - - [26/Mar/1999:06:37:06 +0300] "GET /miha_test HTTP/1.1" 404 284 195.34.34.69 - - [26/Mar/1999:06:37:06 +0300] "GET /csc.html HTTP/1.1" 404 283 195.34.34.69 - - [26/Mar/1999:06:37:07 +0300] "GET /macprice.html HTTP/1.1" 404 288 В сиcтеме RedHat реализована система автоматической ротации файлов регистрации. Файлы регистрации совершают периодические перемещения: раз в неделю файлы переименовываются, в результате чего более старые данные сдвигаются в конец цепочки: secure secure.1 secure.2 secure.3 secure.4 Система ротации представляет из себя совокупность shell-сценариев каталога /etc/logrotate.d, вызываемых системным шедулером cron, и конфигурационный файл /etc/logrotate.conf. Одновременно с этим раз в неделю происходит резервное копирование файлов регистрации вместе с остальной важной информацией системы ( См. разделы 2.5.6 и 3.4, посвященные резервному копированию ). Производительность системы во многом определяется эффективностью распределения и коллективного использования ее ресурсов. В первом приближении серьезное влияние на производительность системы оказывают четыре вида ресурсов: время центрального процессора; |