Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 57
Текст из файла (страница 57)
Иногда такая возможностьбывает полезной, например, при создании стационарных серверов, не нуждающихся в администрировании. Такими серверами могут быть маршрутизаторы между подсетями большого предприятия. Если увеличение количестваподсетей не предвидится, можно вообще отключить регистрацию пользователей (в том числе и пользователя root). Изменить конфигурационные файлы в такой системе можно, загрузившись с системной дискеты. Естественно,что такую дискету нужно создать до установки LIDS.Полезно также защитить системные журналы от изменений. Для этогонужно защитить каталог / v a r / l o g , установив доступ READ для всех программ, а затем отдельно разрешив каждой программе писать только в свойпротокол.
Это довольно утомительный процесс, но один раз проделав его,вы будете уверены, что никто уже не сможет изменить протоколы, чтобы«замести следы». При использовании программы logrotate предоставьте ейдоступ ко всему каталогу /var/log.В качестве объекта могут выступать не только программы, но и способность. Например, вы можете выключить способность для всех программ ипредоставить ее только какой-нибудь одной определенной.Доступом в этом случае будут являться такие режимы:INHERITпредоставлять потомкам процесса данную возможность.NOJNHERITне предоставлять.Для определения таких правил используется команда:lidsadm -A -s СУБЪЕКТ -t -о СПОСОБНОСТЬ -j ДОСТУП(ЦЕЛЬ)233Конфигурирование сервераВся разница между указанием обыкновенного объекта и способностизаключается в наличии параметра -t.После настройки LIDS перезагрузите систему для проверки ее работоспособности. Если что-то пошло не так, загрузите Linux, передав ядрупараметр security=0.
Указание данного параметра отключит систему LIDS ивы сможете настроить ее заново:LILO boot: linux security=08.9.5. Администрирование LIDSИногда уже в процессе работы системы нужно отключить или включитьнекоторые способности или произвести некоторые действия, которые запрещены с помощью системы LIDS, например, добавить какой-нибудь модуль вядро при включенной способности CAP_SYS_MODULE.Администрирование системы LIDS выполняется с помощью все той жепрограммы — lidsadm. Каждый раз при выполнении программы lidsadm у васбудет запрошен пароль. Каждая попытка запуска lidsadm будет фиксироваться в протоколах, так же как и каждая попытка ввода неправильного пароля.В зависимости от настроек вашей системы на указанный вами e-mail будутпосылаться сообщения при каждой попытке подобрать пароль администратора LIDS. Формат использования lidsadm в данном контексте таков:lidsadm -S — +/-флагПри администрировании доступны флаги, указанные в табл.
8.11.Флаги администрирования LIDSОписаниеФлаг-LIDS+LIDS+RELOAD CONFLIDS_GLOBALСпособностьТаблица 8.11Прекращение работы системы LIDS в текущей оболочке и всех его потомках. При этомвам можно будет запускать программы, запуск которых был запрещен при работе LIDS.Однако в глобальных масштабах (в масштабах всей системы) работа LIDS не будетпрекращена, а это значит, что действия других пользователей будут ограниченысистемой LIDS. Обычно этот режим наиболее оптимален при администрировании LIDSВозобновляет работу LIDS после ее остановаПри указании этого флага LIDS перечитывает файлы конфигурацииПрекращение или возобновление работы LIDS в масштабах всей системыВключает или выключает указанную способностьПриведу несколько примеров по администрированию LIDS.
Если вамнужно сделать изменения в. файлах конфигурации систем LIDS, выполнитекоманды:lidsadm -S — -LIDSvi / e t c / l i d s / l i d s . c a plidsadm -S -• +RELOAD_CONFlidsadm -S - +LTDSТеперь разберемся подробнее с этим примером. Сначала вы останавливаете работу LIDS для текущей оболочки. Затем вы редактируете файлыконфигурации, например, файл lids.cap. Потом вы заставляете LIDS перечитать файлы конфигурации и возобновляете ее работу. При этом на234Конфигурирование серверавремя правки файлов конфигурации система LIDS будет функционироватьдля других пользователей.Приведу еще один полезный пример.
Например, вы включили способность CAP_SYS_MODULE, а вам нужно добавить модуль «на лету», то естьв процессе работы системы. Для этого не нужно останавливать всю систему,достаточно просто отключить данную способность, добавить модуль и включить способность снова.lidsadm -S - -CAP_SYS_MODULEinsmod module.оlidsadm -S - +CAP SYS MODULE2359ПРОТОКОЛServer Message Block(SMB)9.1. Установка SambaВ этой главе вам предстоит настроить пакет Samba, предназначенныйдля использования протокола SMB (Server Message Block), который такжееще называется протоколом NetBIOS.
С помощью пакета Samba ваш компьютер, работающий под управлением Linux, ничем не будет отличаться отрабочей станции или сервера сети Microsoft. Дополнительную документациюпо этому поводу можно найти по адресу http://www.samba.org, а также навсевозможных форумах.С помощью Samba вы сможете следующее:1.
Предоставлять доступ к разделам Linux для рабочих станций Windows.2. Получать доступ к ресурсам сети Microsoft.3. Распечатывать документы на сетевых принтерах сети Microsoft, а такжепозволить использовать свой принтер в качестве сетевого.При установке, на первом этапе нужно установить пакеты samba, sambacommon и samba-client:# rpm -ih /mnt/cdrom/Mandrake/RPMS/samba*При этом, если вы используете другой дистрибутив (не Mandrake, какуказано в примере), перейдите в нужный каталог.Пакет samba состоит из двух основных файлов — smbd и nmbd.
Первыйиз них является носителем протокола 8MB, а второй обеспечивает поддержку имен NetBIOS. Сразу же после их настройки ваш компьютер будетотображаться в сети.После установки сервисы smbd и nmbd конфигурируются как автозапускаемые, то есть вам не придется самостоятельно производить никаких действий поих запуску. Возможно, вас не устраивает такой вариант (например, в тех случаях,если обращение к ним будет производиться редко, и вы хотите освободитьпамять). В этой ситуации никто не мешает добавить их в файл конфигурациисуперсервера /etc/inetd.conf и запускать «по востребованию».
При этом незабудьте только отключить их автозагрузку с помощью конфигуратора системы.В этой главе будет рассмотрена настройка пакета Samba «вручную», тоесть не прибегая к помощи конфигуратора. Вы же можете использовать236Протокол Server Message Block (SMB)конфигруатор netconf (см. рис. 9.1), но в этом случае есть одно «но»: если выбудете настраивать Samba или любую другую службу сервера в другомдистрибутиве (не Red Hat или Mandrake), привычного вам конфигуратораможет и не быть, поэтому вы должны знать хотя бы назначение и расположение системных файлов той или иной службы сервера.Если же вы всетаки решили использовать конфигуратор, заThis menu allows to configure the ВагиBa SMS life-здаегпустите netconf и, пер е й д я на в к л а д к у:: Defaults,Server Tasks, выберитеVsh«te::,|::конфигурированиеDefault setup to printers jSamba (см.
рис. 9.1).С помощью конфигуратора netconf выможете полностью настроить пакет Samba —от указания общих паРис. 9.1. Конфигурирование Sambaраметров (см. рис. 9.2)до определения общихресурсов (см. рис. 9.3).:::You are allowed to enter configurationsfor one disk share|Base configй||vNot managed•*• Acct & passwords:' v A c c t .
onlySMB account managementJ Synchronise Linux from SMB passwordsServer descriptionWork groupNetbios name (opt)Samba Server %v(WORKGROUPSERVERNetbios aliases (opt)AcceptCancelHelpРис. 9.2. Общие параметры237Протокол Server Message Block (SMB)Шл are allowed to enter tenfigurationsШсSHARAI!!!••shareРис. 9.З. Определениеобщих ресурсов9.2. Настройка файлового сервераОсновным конфигурационным файлом сервера Samba является файл/etc/smb.conf.
Именно в нем задаются все используемые и предоставляемые ресурсы. Формат данного файла напоминает формат INI-файла программ для Windows, например, w i n . i n i . Файл / e t c / s m b . c o n f состоит изнескольких секций, в начале каждой из которых в квадратных скобкахуказывается ее имя.
Параметры в каждой секции указываются в видезаписей Имя=3начение. Основной является секция [global], ее пример приведен в листинге 9.1.Листинг 9.1. Пример секции global[global]workgroup = WORKcomment = Linux Serverguest account = guestsecurity = shareprinting = bsdprintcap name = /etc/printcapload printers = yesclient code page = 866238Протокол Server Message Block (SMB)character set = koi8-rencrypt passwords = Yeslog file = /var/log/samba/log.%mmax log size = 50socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192dns proxy = nowins support = yesdomain master = yesinterfaces = 192.168.1.1/24 192.168.2.1/24Параметр workgroup определяет рабочую группу или имя домена NT.Параметр comment аналогичен параметру NT Description для ОС Windows NTили Description (Описание компьютера) для ОС Windows 9x.
Параметр guestaccount задает имя пользователя. Указание guest в качестве пользователяозначает, что пользователи получают доступ без регистрации. Вернее, регистрация все же происходит, но используется гостевая учетная запись.Следующий параметр — параметр security может принимать три значения:shareпри каждом доступе будет запрашиваться имя пользовательскогоресурса.userдля аутентификации будет использоваться имя пользователя и пароль, которые используются для входа в сеть Windows. Это значениеиспользуется по умолчанию.serverдля проверки пароля будет использоваться сервер NT.Записи printing и printcap name относятся к подсистеме печати. Первая изних задает систему печати типа BSD, а вторая — указывает, где расположенфайл, содержащий информацию о принтерах.
О настройке принтеров мыпоговорим немного позже.Параметры client code page и character set необходимы для корректногоотображения русскоязычных имен файлов файловой системы Windows.В ОС Windows NT, начиная с Service Pack 3, передача паролей по сетипроисходит в закодированном виде.
Последние версии Samba позволяют поддерживать эту возможность. Для этого нужно установить значение параметраencrypt password равным yes. Если ваша версия Samba не поддерживает даннуювозможность, то вы можете отключить использование закодированных паролейв Windows. Учитывая, что вам придется вручную изменять параметр реестравсех рабочих станций Windows, мне кажется, что проще обновить Samba.
Ноесли вас все же интересует, какой именно параметр реестра Windows нужноизменить, я укажу его. В разделе реестра ОС Windows NT:[NT HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Rdr\Parameters]нужно создать ключ EnablePlainTextPassword типа DWORD и установить его значение, равное 1. В ОС Windows 9x вам нужно создать тот же ключ, но в разделе[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\Parameters].В ОС Windows 2000 нужно внести изменения в раздел реестра[HKK_lJOa^L_№CHINE\SYSTEM\CurrentControlSet\Services\LaniranWorkStation\Parameters] .239Протокол Server Message Block (8MB)Параметры log file и max log size определяют имя файла протокола(журнала) и его максимальный размер. Опции сокетов задаются с помощьюпараметра socket option.