Войтов Η. М. Администрирование ос red Hat Enterprise Linux Учебный курс І р п souline a c a d e m y a L l I a n c e м о с к в а, 2011




страница6/13
Дата19.11.2016
Размер5.62 Mb.
Просмотров283
Скачиваний0
1   2   3   4   5   6   7   8   9   ...   13
vm stat -а.
Когда ядру не хватает как физической памяти, таки области подкачки, это означает, что виртуальная память исчерпана. В данной ситуации включается режим принудительного уничтожения процессов. Чтобы освободить память, системе приходится уничтожать целые процессы.
Интенсивность операций с памятью количественно представляется общим объемом задействованной виртуальной памяти и скоростью подкачки и выгрузки страниц.Определить объем доступной памяти и размер области подкачки можно при помощи команды free. При введении ключа -t будет выведен суммарный объем виртуальной памяти. В поле free вывода команды free указывается объем в килобайтах) списка неиспользуемых страниц. Если приведенные в нем показатели менее 3% от общего объема системной памяти, то это свидетельствует о наличии проблем. В поле total указано общее количество доступных страниц (в килобайтах. В полях buffers и cached указано количество страниц (в килобайтах, занятых под буферы ядра и под дисковый кеш. В поле used указано количество страниц (в килобайтах, используемых приложениями. Вывод, отображаемый командой free, является статическим снимком с текущего использования памяти. Для отображения нескольких снимков используется команда free -s <интервал>, где указывается интервал вычислений в секундах.
Д ля более детальной статистики использования памяти можно воспользоваться командой vmstat, которая выдает информацию о страничном обмене и областях подкачки. Существует еще один источник информации об использовании памяти - команда procinfo, входящ ая в состав пакета procinfo. Данная команда самостоятельно не ведет никаких замеров и вычислений, а просто форматирует данные, извлекаемые из элементов файловой системы /ргос. Если нужно получать отчет, обновляющийся, например, каждые 5 секунд, необходимо использовать команду
procinfo -п5.
Основные рекомендации по оптимизации производительности использования ресурсов виртуальной памяти, заключается в следующем:
• Увеличивать или уменьшать размер страниц виртуальной памяти в зависимости от приложения, которое использует ресурсы памяти.
Оптимизировать процесс обработки активных и неактивных страниц виртуальной памяти.
Снизить частоту выгрузки страниц с жесткого диска в память.
Ограничить ресурсы виртуальной памяти для каждого пользователя в системе, используя команду ulimit.
Остановить процессы, которые реально не используются в системе ■ ■ H
i l l Модуль 1. Системное администрирование
1.10.3. Подсистема дискового ввод а-
вывода
Производительность жесткого диска можно оценить при помощи команды
iostat. Данная команда поддерживает дополнительные аргументы, задающие интервал времени в секундах между моментами выдачи результатов за истекший период и число повторений замеров. Команда выдает также сведения об использовании процессора. В следующем листинге приведен пример использования команды iostat для определения производительности дискового ввода-вывода.
# iostat
Device:
tps
Blk read/s
Blk wrtn/s
Blk read
Blk wrtn sda
0.93 8.91 10.77 368451 445574
sdb
0.00 0.02 0.00 864 80
sdf
0.03 0.02 1.92 1016 79318
sdg
0.03 0.03 1.92 1364 79318
hdc
0.00 0.00 0.00 144 0
mdO
0.00 0.03 0.00 1076 10
mdl
0.96 0.03 1.91 1092 79126
dm-0 0.00 0.01 0.00 608 128
dm-1 0.96 0.01 1.91 548 79126
dm-2 0.00 0.01 0.00 532 Команда iostat собирает данные из файловой системы /ргос, выдавая по одной строке для каждого физического устройства. Для каждого жесткого диска сообщается число операций ввода-вывода в секунду (tps), количество операций блочного чтения и блочной записи в секунду (B lk_read/s и B lk_w rite/s), общий объем прочитанных (Blk_read) и записанных (Blk_wrtn) блоков.
Д ля получения более детальной информации о конкретном устройстве необходимо запустить команду iostat следующим образом:
# iostat -dx /dev/sda
rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
0.11 0.73 0.32 0.58 8.58 10.48 21.06 0.01 9.40 3.57 В данном примере к устройству /d e v /s d a было сделано 0,58 обращений на запись данных в секунду (w /s). Среднее значение запроса к устройству составило
21,06 блоков (avgrq-sz), при этом утилизация процессора при выполнении данной операции (await) составила 9,4%. Среднее время обслуживания (svctim e) обра­
щений к устройству /d e v /s d a составило 3,57 милисекунды. Основное внимание здесь следует уделить параметру времени обслуживания обращений (svctim e),
Комплексные средства мониторинга системных ресурсов
ΙΙΙΙΙ···
67
которое существенно зависит от времени поиска нужных блоков.
Разбивая новый жесткий диск на разделы, необходимо принять во внимание факторы, влияющие на производительность, и постараться поместить файлы, обращение к которым осуществляется одновременно, в одну файловую систему. Для достижения максимальной производительности нужно помещать файловые системы, которые используются одновременно, на физически разные диски. Особенно важно распределить область подкачки между несколькими дисками, если это возможно, поскольку страничный обмен обычно замедляет работу системы в целом. Такую конфигурацию можно реализовать с помощью команды swapon.
Основные рекомендации по оптимизации производительности использования дисковой подсистемы сводятся к следующему.
• Если основная нагрузка на диск носит последовательный характер, рекомендуется увеличить кеш дискового контроллера или размещать данные, к которым осуществляется последовательный доступна одной файловой системе, а лучше - на смежных блоках. Если основная нагрузка носит случайный характер, то увеличение количества дисков может повысить общую производительность.
• Д ля повышения операций чтения и записи следует по возможности использовать аппаратные массивы При необходимости создания разделов большого размера рекомендуется соединять отдельные диски в единый логический том LVM, вместо того чтобы использовать один диск большого размера.
• Добавлять большее количество физической памяти для увеличения дискового кэша.
1.10.4. Комплексные средства мониторинга
системных ресурсов В ОС Linux помимо отдельных утилит мониторинга системных ресурсов существуют средства, позволяющие накапливать статистическую информацию и строить соответствующие отчеты. Одним из таких средств является утилита sar. На первый взгляд может показаться, что она отображает туже информацию, что и утилиты vm stat и iostat. Однако имеется одно очень важное отличие утилита sar имеет возможность представлять отчеты как по накопленным, таки по текущим данным.
Д ля использования данной утилиты необходимо установить пакет sysstat. Данные, которые накапливает утилита sar, могут собираться через определенный интервал времени, предоставляя тем самым администратору полную картину производительности в течение интересующего его периода.
Прежде чем использовать утилиту sar, необходимо инициализировать дополнительные утилиты sa l и sa2, которые используются для сбора и записи статистических данных. Данные утилиты автоматически запускаются при помощи планировщика задач cron согласно расписанию, заданному в файле /e tc /c r o n .d /sy ssta t.

68
■■■ιιιιι
Модуль 1. Системное администрирование
По умолчанию утилита sar формирует отчеты каждый день в 23:53 и сохраняет их в каталоге /v a r /lo g /s a в бинарном виде, используя имена файлов в формате
8а<дата>, где вместо параметра <дата> указывается двухзначное число месяца. В формате отчетов не используется отметка года, поскольку в каталоге sa сохраня­
ются только последние 9 отчетов. Для просмотра отчетов используется команда
sar, которая может предоставлять информацию как об использовании процессорного времени, таки об активности дисковой подсистемы, а также статистические данные о сетевых интерфейсах.
Вывод команды sar без параметров отображает статистику использования процессорного времени и имеет следующий вид. Для просмотра дополнительных аргументов команды sar можно воспользоваться страницами руководства man по данной команде.
1.11. Установка программ из
исходного кода
В установленном дистрибутиве ОС Linux не всегда может присутствовать нужное программное обеспечение. В данном случае может понадобится установить новый пакет, однако пакеты, доступные в сети RHN или любом другом репо­
зитории, могут более ранних версий, чем на сайте разработчиков, и не содержать требуемый функционал. Тогда возникает необходимость установки ПО из исходного кода, доступного на сайте разработчкиов.
Установка ПО из исходного кода может быть полезна ив случае необходимости оптимизации программного кода под имеющееся оборудование. Для того чтобы установить ПО из исходного кода прежде всего необходимо загрузить нужную версию с ресурса разработчиков данного ПО. Как правило, исходный код распространяется в архивных файлах в форматах tar.gz или tar.bz2. В данных архивах распространяются в основном стабильные версии программ. Если необходимо получить самые последние изменения кода, то стоит воспользоваться хранилищами версий, которые представляют собой репозитории, использующиеся разработчиками как средство совместной разработки и обмена кодом. Доступ к таким хранилищам возможен при помощи специальных утилит (в зависимости от типа хранилища) или через веб-интерфейс.
После того, как исходный код будет получен, его необходимо скомпилировать при помощи компилятора и установить в систему. Для удобства управления программами, созданными из исходного кода, рекомендуется создавать на их основе
rpm пакеты.
В среде ОС Linux основным инструментом сборки программ из исходного кода является набор компиляторов GCC (GN U Compiler Collection). Данные компиляторы являются кросс-платформенными и позволяют компилировать исходный код, написанный на таких языках программирования как C /C + + , Objective-
25
Система управления версиями
позволяет хранить несколько версий одного итого же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое.
Си. Помимо компилятора, для сборки программ из исходного кода необходимы дополнительные утилиты, входящие в так называемый набор
G N U toolchain
- коллекция утилит GNU для сборки программ из исходных кодов. в состав GNU toolchain входят следующие инструменты:

G C C
- Набор компиляторов для различных языков программирования;
• G N U make
- Утилита автоматизации процесса компиляции и сборки про­
грамм;
• G N U Binutils
- Набор утилит, включая компановщик
(Id),
ассемблер (as) и другие утилиты;
• G N U Bison
- Утилита автоматизации создания синтаксических анализато­
ров;

G N U m 4
- Макропроцессор- Универсальный отладчик программ;

G N U autotools
- Утилиты (autoconf, automake, autoheader, libtool)) автоматизации конфигурации пакетов с исходным кодом;

G N U libe
- Стандартная библиотека языка С. Все программы, написанные на языке С, опираются на функции стандартной библиотеки.
Д ля установки набора GNU toolchain необходимо установить соответствующие пакеты RPM или собрать его из исходного кода. В общем случае последовательность установки программы из исходного кода следующий) Конфигурация исходного кода и проверка системы на возможность компиляции и последующего использования программы (configure скрипт) Компиляция исходного кода при помощи утилиты
make
и компилятора
gcc.
3) Тестирование скомпилированного кода (опционально).
4) Установка бинарных файлов и выполнение дополнительных настроек.
Конфигурация исходного кода и проверка системы выполняется при помощи запуска скрипта
configure
в каталоге с исходным кодом. Данный скрипт, как правило, создается разработчиком при помощи утилит
autoconf, automake и
autoheader. В
его задачи входит проверка наличия необходимых системных библиотек, определение расположения программ, которые понадобятся в процессе сборки, определение архитектуры процессора и многое другое.
В
случае если скрипт
configure
не содержится в пакете, его можно получить, выполнив команду
autoreconf27
в каталоге с исходным кодом. Скрипт
configure
может иметь доста­
Установка программ из исходного кода
Макрогенерация
означает копирование входного символьного потока в выходной с подстановкой макросов по мере их появления.
Макросы
могут быть встроенными или определенными пользователями, и принимать произвольное число аргументов. Имеется множество встроенных функций для включения файлов, запуска внешних команд, выполнения целочисленной арифметики, манипуляции строками Данная команда при необходимости выполняет команды aclocal, autoconf, autoheader и automake и создает configure скрипт.
точно большое количество опций, которые определяют настроки конечной программы. К таким опциям относятся префиксы расположения файлов программы, параметры компилятора и компоновщика, указания расположения заголовочных файлов и библиотек, определение ключевых возможностей программы. После завершения выполнения скрипта
configure
в сборочном каталоге будут присутствовать следующие файлы:
- config.log,
содержащий выходную информацию скрипта
confgiure;
- config.h,
содержащий директивы препроцессора используемые при компиляции исходного кода;
- config.status,
использую щ ийся для формирования фалов
Makefile
и
config.
h;
- config.cache,
используйщ ийся для кеш ирования результатов при повторных выполнениях скрипта configure;
- stamp.h,
использую щийся для определения того, был ли изменен файл
config.h;
-
Makefile,
содержащий инструкции по сборке исходного кода.
В случае, если система по каким-то причинам не удовлетворяет требованиям для установки данной программы, соответствующие сообщения об ошибках будут выданы пользователю.
После успешного выполнения скрипта
configure
необходимо выполнить сборку программы, используя утилиту
make.
Утилита
make
предназначена для автоматизированной сборки программ из исходного кода. В своей работе данная утилита использует собственный конфигурационный файл (так е-ф ай л ), содержащий п р а ­
вила для сборки целевы х объектов. Он может иметь названия
makefile, Makefile,
GNUmakefile.
В этом случае программа
make
считывает его автоматически. Программа

вызывается следующим образом:
make опции [целевые_объекты] [макроопределения]
Опции, и целевые объекты и макроопределения задаются в любом порядке. Используется последнее присвоение переменной. Макроопределения указываются следующим образом:
имя=текст
И ЛИ bимя:текстbП равила в так е файле интерпретируются построчно. Если правило занимает больше одной строки, то следует использовать символ \. М аке-файл может содержать следующие строки:
Пустые строки (игнорируются при чтении).
Строки комментариев(# ). Игнорируется все, что следует за символом ком­
ментариев.
Строки зависимостей. Содержат правила состоящие из целевых объектов
ЕЗИІІІІІІ
Модуль
1
. Системное администрирование
Установка программ из исходного кода
ΙΙΙΙΙ···
71
и предпосылок, и записываются в виде:
целевые_объекты :: пердпосьшкаї предпосылка ...
В первом случае (:) последующие команды выполняются, если предпосылки имеют более позднюю отметку времени, чем целевой объект. Во втором случае
(::) допускается использовать одинаковые целевые объекты в нескольких строках. Если предпосылки не заданы, то последующие команды выполняются в любом случае. Команды указываются после предпосылок наследующей строке, после указания символа табуляции. Каждая команда выполняется в собственной командной оболочке и если какакя-либо команда выполнится с ошибкой, происходит остановка процесса сборки и выход из программы
make.
Если перед командой стоит символ «-», то будут игнорироваться любые ошибки выполнения команды. Если перед командой указан символ «@», то утилита
make
не выводит на экран результаты своей работы.
Целевые объекты и предпосылки могут содержать символы подстановки, используемые в командном интерпретаторе.
Под целевым объектом принято понимать файл или действие, которое необходимо выполнить. В следующем листинге приведен простой пример таке-ф ай ла:
foo.o: foo.c foo.h gcc — с В данном листинге целевым объектом, который необходимо получить, является объектный файл
foo.o.
Команда
gcc -с foo.c
вы полнится только в том случае, если существуют файлы
foo.c
и
foo.h.
В процессе обработки так е файла сначала происходит обновление файлов, указанных в предпосылках, а затем целевых объектов. П редпосы лка представляет собой файл, использующийся для получения целевого объекта. Помимо правил, так е файл может содержать переменные, использующиеся затем в тех же правилах. Например, в следующем листинге приведен пример удаления созданных объектных файлов = о kbd.o о о \ о о о о edit :
$ (objects)
сс -о edit $ (objects)
.PHONY :
clean clean :
rm edit $ (В данном листинге переменной
objects
соответствет несколько объектных файлов. Далее следует правило получения целевого объекта
edit.
Затем идет описание псевдо целевого объекта, который представляет собой действие, те. команду удаления объектных файлов. Таким образом при вызове команды
make clean
бу­
дут выполнены команды удаления объектных файлов. Директива явно указывает на то, что при вызове команды
make clean
следует выполнить команду rm, несмотря на то, что в так е-ф ай л е может присутствовать целевой объект с именем
clean.

72
■■■ιιιιι
Модуль 1. Системное администрирование
Д ля того чтобы лучше понять зависимости между целнвыми объектами и предпосылками, программа m ake использует суф фиксы указанные в шаке-фай- ле. Суффиксы определяют какие файлы могут являться предпосылками для других файлов. Общая запись суффиксов имеет следующий вид:
.суффикс1.суффикс2:
В данном примере файлы, содержащие первый суффикс (суффикс 1) могут быть предпосылками для файлов, содержащих второй суффикс (суффикс. Запись .с.о обозначает, что файлы с расширением являю тся предпосылками для файлов с расширением .о.
Более совершенный механизм определения неявно указанных правил является использование образцов. Образец используется для сопоставления целевых объектов и предпосылок. Правила образцов содержат символ % в названии целевого объекта. В следующем листинге приведен пример правила, содержащего образцы:
% .
ОС (СС) -с $ (CFLAGS) $ (CPPFLAGS) $< -о $@
Д анная запись определяет правило, которое создаст любой файл с расш ире­
нием из файла с расширением .с. В приведенном примере присутствуют две
внутренние переменные ($ < и $@), которые автоматически устанавливаю тся в зависимости от целевого объекта и его предпосылок. Переменная $ < содержит имя первой предпосылки в правиле. Переменная $@ содержит имя целевого объ­
екта.
В следующем листинге частично приведен ш аке-файл утилиты ta r с указани­
ем номеров строк:
1 SHELL = /bin/sh
2 #### Start of system configuration section.
3 srcdir
=
4 CC = gcc -0 5 YACC = bison -y б INSTALL
= /usr/local/bin/install -c
7 INSTALLDATA = /usr/local/bin/install -c -m 644 8 CFLAGS
= $ (CDEBUG) -I. - 1 $ (srcdir) $ (DEFS)
\
9
-DDEF_AR_FIL
E= \ " $(DEF_AR_FILE)\" \
10
-DDEFBLOCKING=$(DEFBLOCKING)
11 LIBS =
12 LDFLAGS
= - g
13 prefix
= /usr/local
14 bindir
= $ (prefix)/bin
15
#### End of system configuration section.
16 SRC1 =
tar.с create.с extract.с buffer.с \
17
getoldopt.c update.с gnu.с mangle. с
18
SRC2 =
version.с list.с names.с diffarch. с \
19
port.с wildmat.c getopt.c
20
SRC3 =
getoptl.c regex.с getdate.y
21
SRCS =
$(SRC1)
$ (SRC2) $ (SRC3)
22 0BJ1 =
tar.o create.о extract.о buffer.о \
23
getoldopt.o update.о gnu.о mangle. 0 24 0BJ2 =
version.о list.o names.о diffarch. 0 \
Установка программ из исходного кода
ΙΙΙΙΙ···
73
25 о wildmat.o getopt.o
2 6 0BJ3 = getoptl.o о getdate.o $ (RTAPELIB)
27 OBJS =
$(0BJ1) $ (0BJ2) $ (0BJ3)
28 .PHONY: all
29 all: tar rmt tar.info
30 .PHONY: tar
31 tar:
$ (OBJS)
32
$(CC)
$ (LDFLAGS) -o $@ $ (OBJS) $ (LIBS)
33 rmt: r m t с
$
(CC)
$ (CFLAGS) $ (LDFLAGS) -o $@ r m t с tar.info: tar.texinfo
36 makeinfo tar.texinfo
37 .PHONY: install
38 install: all
39
$ (INSTALL) tar $ (bindir)/ $ (binprefix)tar
40
-test !
-f rmt I| $ (INSTALL) rmt /etc/rmt
41
$ (INSTALLDATA) $(srcdir)/tar.info* $ (infodir)
42
$(OBJS): tar.h port.h testpad.h
43 regex.o buffer.o tar.o: regex.h
44 .PHONY: clean
45 rm -f *.o tar rmt testpad testpad.h Вой строке задается внутренняя переменная SHELL, определяющая командный интерпретатор. Далее следует описание общих переменных (строки 3-14), используемых в таке-ф ай л е, таких как компилятор (СС), опции компилятора
(CFLAGS), линковщ ика (LDFLAGS). Затем выполняется определение переменных, используемых в правилах (строки 16-27). В частности, в переменных SRC1,
SRC2, SRC3 перечисляю тся файлы с исходным кодом, а в переменных OBJ1,
OBJ2, OBJ3 - объектные файлы. После объявления переменных следуют шесть правил. Некоторые из них содержат имя специального целевого объекта .PHONY, что означает их выполнение даже в случае существования файлов с такими же именами.
Первое правило выполняет действие
all,
а именно создание файлов (предпосылок)
tar, rmt
и
tar.info.
Создание предпосылок выполняется в соответствующих правилах (строки 31-36). Пятое правило (строки 38-43) выполняет установку созданных целевых объектов. Шестое правило выполняет очистку сборочного каталога в случае ввода команды
make clean.
Нетрудно заметить, что процедуры сборки и установки утилиты
tar
описаны в так е-ф ай леи выполняются при указании соответствующих целевых объектов. Для сборки программы, находясь в каталоге с исходным кодом, достаточно ввести команду
# make
Команда
make
считывает первое правило (целевой объект
all)
и выполняет сборку утилиты
tar, rmt,
и файла
tar.info.
Д ля перемещения созданных файлов в нужное место файловой системы, а также выполнения дополнительных настроек, требуется ввести команду
# make install
В результате выполнения данной команды произойдет выполнение команд,

74
■■■ιιιιι
Модуль 1. Системное администрирование указанных для целевого объекта
install.
Следует отметить, что непосредственная сборка бинарных файлов выполняется компилятором. В случае ручной сборки исходного кода пользователь вызывает управляющую программу, которая называется.

Она интерпретирует аргументы командной строки, определяет и запускает для каждого входного файла свои компиляторы нужного языка, запускает, если необходимо, ассемблер и компоновщик. Компилятор каждого языка является отдельной программой, которая получает исходный текст и порождает вывод на языке ассемблера. В случае автоматизированной сборки, вызов программы gcc выполняется утилитой
make
в процессе обработки так е-ф ай л а. В следующем листинге приведен пример кода, написанного на языке Си выводящего на экран запись
Hello, world!:
^include
int main (void)
{
printf ("Hello, world!\n");
return Для сборки данной программы в самом простом случае необходимо выполнить комадну:
• gcc -Wall со hello
В
данном случае компилятору указывается опция вывода всех предупреждающих сообщений, а также файл с исходным кодом
(hello.с)
и результирующий бинарный файл -
hello.
Точно таким же образом происходит вызов компилятора
gcc
в таке-ф ай лах.
В
более сложных случаях указываются дополниетльные опции компилятора, такие как:
• I - используется для указания дополнительных заголовочных файлов. По умолчанию поиск заголовочных файлов осуществляется в каталогах
/usr/
local/include
и
/usr/include.
Д ля перманентного добавления дополнительных каталогов, содержащих заголовочные файлы, используются переменные окружения
C _ I N C L U D E P A T H
и
C P L U S _ I N C L U D E _ P A T H
(в случае использования языка- используется для указания дополнительных библиотек на этапе компоновки. По умолчанию поиск библиотек выполняется в каталогах
/usr/
local/lib
и
/lib.
Д ля перманентного добавления дополнительных каталогов, содержащих библиотеки, используется переменная окружения
L I B R A R Y _
PATH;
• W
- используется для детализации вывода предупреждающих сообщений;
Некоторые исполняемые файлы требуют наличия общих библиотек (sh ared
lib ra ries). Общие библиотеки должны быть загружены в память с диска до того, как будет выполнен исполняемый файл. Данные библиотеки позволяют снизить размеры исполняемых файлов и уменьшить потери дискового пространства, так как
Установка программ из исходного кода
ΙΙΙΙΙΙΙ
могут быть использованы несколькими файлами одновременно. По умолчанию, поиск общих библиотек выполняется в каталогах /lib и /u s r/lo c a l/lib . Если требуемая общая библиотека находится в другом каталоге, то необходимо указать путь для компановщика, используя перменную окружения L D _LIB R A R Y _PA TH .

■ I
М од ул ь 2 . Сетевое администрирование После завершения изучения данного модуля вы научитесь:
• осуществлять базовое администрирование сервиса хранения учетных данных управлять хранением файлов при помощи сервисов NFS и осуществлять базовое администрирование сервиса DNS и D H C осуществлять базовое администрирование веб-сервера Apache и прокси- сервера осуществлять настройку сервиса SSH для обслуживания удаленных соеди­
нений;
• понимать основы администрирования почтового сервера понимать и выполнять основные операции администрирования общих сетевых сервисов, XIN ETD , F T P и N T P
2.1. Централизованное хранилище
данных. Каталоги LDAP
В ОС Linux существует несколько сервисов, позволяющих централизованно управлять учетными записями пользователей и другой сервисной информацией. К таким сервисам относятся N IS и LD A Сервис NIS позволяет хранить следующую информацию по учетным записям пользователей:
• имена пользователей;
• пароли пользователей;
• группы пользователей;
• расположения домашних каталогов.
В настоящее время на смену сервису NIS пришел более защищенный и производительный сервис каталогов При выборе способа управления учетными записями пользователей следует учитывать ОС, с которой работает большинство пользователей предприятия. Если для хранения учетных данных используется сервис LD АР, пользователи могут работать как на ОС U nix/Linux, таки на ОС Windows. Более того, в ОС Linux существует возможность реализовать подобие домена Active D irectory для аутентификации пользователей с использованием протокола
Kerberos.
Если же для хранения учетных данных используется NIS, пользователи могут
работать только на ОС U nix/Linux. Существуют, конечно, средства, позволяющие установить клиенты NIS на ОС Windows, однако данное решение не является разумным сточки зрения безопасности.
Д ля реализации сервиса каталогов LDAP в ОС Linux используется ПО
openLDAP.
Данное ПО можно разделить наследующие компоненты:
• серверы: предоставляют службы клиенты оперируют данными утилиты поддерживают работоспособность сервера библиотеки предоставляют API для доступа к данным LDAP;
Серверная часть сервиса LDAP представлена демоном slapd, который предоставляет доступ к одному или нескольким каталогам данных. Серверная часть
LDAP может хранить данные локально или предоставлять доступ к внешним источникам данных. LDAP предоставляет возможности аутентификации компьютеров и пользователей, поиску и изменению данных, таких, например, как группы и адресная книга,
Клиенты, например, инструменты командной строки для поиска данных ld ap search и изменения данных Idapm odify - получают доступ к сервису LDAP через LD A протокол. Их функция заключается в формировании и передаче запросов к демону slapd, который выполняет необходимые операции над данными в каталогах. Обычно сначала клиент подключается к демону slapd, аутентиф и­
цируется, а затем осуществляет необходимые операции, посылая LDAP запросы поиск, изменение, удаление и пр. После получения ответа на посланный запрос клиент завершает процесс биндинга и отключается (рис. Централизованное хранилище данных. Каталоги LDAP llllin iQ
Рис. 2.1.
Структура взаимодействия компонентов LDAP

78
■■■ιιιιι
Модуль 2. Сетевое администрирование
Утилиты LDAP, в отличие от клиентов, не используют протокол LDAP для доступа к каталогам - они подключаются к серверу на более низком уровне ивы ­
полняют служебные операции над данными, например, создают новые каталоги. Данные утилиты используются в основном для сопровождения демона В ОС Linux при инсталяции пакета openL D A P устанавливается несколько библиотек, которые используются приложениями и позволяют сторонним разработчикам создавать ПО, взаимодействующее с каталогом по протоколу
LDAP. Для развертывания сервиса LDAP в ОС Linux должны быть установлены пакеты openL D A P и openL D A P -servers. В общем случае процесс развертывания сервиса LDAP можно разделить наследующие этапы:
• установка бинарных пакетов openL D A P и openL D A P -настройка сервера LDAP при помощи конфигурационного файла slapd. проверка конфигурационного файла slap d .co n f при помощи утилиты создание каталога настройка клиентов LDAP при помощи конфигурационного файла ldap. conf.
2.1.1.
Настройка конфигурационных файлов
L D A P
Все модули LDAP условно разделяются на хранилища данных LDAP
(b ackends), в которых непосредственно хранятся записи каталога LDAP, и расширения, которые используются для добавления новых функциональных возможностей сервиса Основным конфигурационным файлом, который использует демон slapd, является файл /e tc /s la p d .c o n f. Данный файл содержит множество директив, которые разделяются натри группы B asics, D a ta b a se C onfiguration и В группе директив B asics выполняется описание установленных схем (директива определение дополнительных системных параметров - уровня ж урналиро­
вания (директива log level) и аргументов запуска демона slapd (директива определение используемых м одулей LDAP (директивы m oduleload и m Под схемой в директиве include понимается служебная информация, описывающая разные классы объектов и типы атрибутов, которые поддерживает данный сервис LDAP. Кроме того, в данной группе описывается административная учетная запись пользователя rootdn.
Создание каталога LDAP
M ill··
79
В группе директив
Database Configuration
задаются:
• тип используемых баз данных каталогов (директива
database);
• суффикс пространства имен (директива
suffix);
• расположение файлов каталога (директива
directory);
• индексируемые атрибуты (директива
index).
Выбор типа базы данных каталога зависит отданных, которые необходимо хранить в этом каталоге. Если в нем хранятся главным образом данные пользователей или какие-то справочные данные, имеет смысл остановиться на иерархическом типе (H ierarch ical D atab ase
(HDB)),
он обеспечит наиболее быстрый поиск данных. Если в каталоге необходимо хранить различные данные, такие как документы pdf, видео- или аудиофайлы, то имеет смысл использовать файловую систему совместно с реляционной базой данных, которая будет использоваться для выполнения запросов к записям, ссылающимся на данные, находящиеся на файловой системе. В каталоге
/var/lib/ldap
должен присутствовать файл
D B _
CONFIG,
образец которого содержится в каталоге
/etc/openldap.
Данный файл содержит опции, необходимые для настройки производительности базы данных каталога LDAP. Если демон
slapd
не обнаружит его в нужном каталоге, то будет выведено сообщение об ошибке.
Директива
suffix
определяет, для какой части каталога используется указанная база данных каталога. Данная директива определяет отличительное имя записей
Distinguish N a m e (DN).
В группе
AC L s
определяется, какие клиенты к каким данным каталога имеют доступа также уровень этого доступа.
После того, как конфигурационный файл
slapd.conf
будет создан, необходимо проверить его синтаксис, запустив команду
slaptest -у -f
/etc/openldap/slapd.
conf.
Если файл содержит ошибки, тов выводе будет указана строка, содержащая ошибку и сама ошибка.
2.1.2. Создание каталога L D A P
Каждый объект в каталоге LDAP называется записью, а каждая запись обладает несколькими атрибутами, например, такими как имя (паше) или расположение (location). Среди атрибутов есть обязательные и необязательные. Каждая запись идентифицируется своим отличительным именем
Distinguish N a m e
(DN).
Записи LDAP обычно составляются на основе использования атрибута
objectClass.
Классы объектов определяют атрибуты, которые может содержать запись. Каждому атрибуту назначается тип данных. При добавлении в каталог записи она должна удовлетворять требованиям схемы базы данных каталога.
Верхний уровень дерева класса объектов называется
top;
он определяет только то, что запись должна иметь атрибут
objectClass.
Некоторые схемы по умолчанию присутствуют в
openLDAP.
Администратор может добавлять дополнительные схемы и включать их в каталог, используя директиву
include.
Например, схема

80
■■■ιιιιι
Модуль 2. Сетевое администрирование
dnszone.schema,
входящ ая в состав пакета
bind-sdb,
позволяет хранить в каталоге
L D A P
зоны
DNS.
Больш инство сетевых сервисов, например
Samba,
также имеют свои схемы, которые позволяют использовать каталог
L D A P
для хранения своих конфигурационных файлов.
Записи добавляются в каталог с использованием файла формата
LDIF.
Каждая запись в данном файле начинается с отличительного имени
(DN),
которое уникальным образом идентифицирует запись в каталоге. Запись состоит из нескольких атрибутов, записанных в отдельной строке. Каждый атрибут должен иметь значение, которое может быть представлено текстом в кодировке
UTF-8,
бинар­
ными данными в кодировке base64, адресом
U R L
или адресом файла (). Каждая запись в файле
LDIF
разделяется пробелом. Примеры двух записей показаны в следующем листинге Организация example.com dn: dc=example, dc=com d c :
example о Softline objectClass: top objectClass: dcObject objectClass: organization
# Организационная единица маркетинг marketing d n :
ou=marketing, ou=employeedir
,
dc=example, dc=com ou: marketing objectClass: top objectClass: Файл

можно импортировать в каталог, используя команду
slapadd -v -1
<имя_файла>.Міґ. Если синтаксис каждой записи корректен, тона терминал в процессе импорта будут выводиться сообщения о добавленных записях следующего вида:
added: "cn=Ivan Petrov,ou=accounting,ou=employeedir,dc=example,dc=com" (0000000a)
После добавления всех записей из файла
LDIF
необходимо установить соответствующие права для пользователя
ldap,
от имени которого запускается демон
slapd,
на все файлы базы данных каталога
LDAP,
находящихся в каталоге
/var/
lib/ldap.
Запуск демона
slapd
осуществляется через стартовый скрипт
/etc/init.
d/slapd
или при помощи команды
service.
Если запустить демон
slapd
при помощи стартового скрипта не удается, то для определения причины данной проблемы можно запустить демон
slapd,
используя команду
slapd -d .
Комманда запускает демона
slapd
в отладочном режиме, при котором на терминал выводятся все сообщения отладки, относящиеся к указанному уровню. Уровень отладки указывается параметром для аргумента
-d.
2.1.3. Подключение к серверу P
Д ля того чтобы клиенты могли подключаться к серверу
LDAP,
в их системе должны быть установлены пакеты
openldap-clients
и
nss_ldap.
Данные пакеты
Подключение к серверу ш ив ·
81
могут использовать как утилиты работы с каталогами LD АР, такие как
ldapsearch поиск записей) или
ldapadd
(добавление записей, таки конечные приложения, например, почтовый клиент
Evolution.
Д ля того чтобы настроить ОС Linux в качестве клиента LDAP, необходимо добавить в файлы
/etc/openldap/ldap.conf
и
/etc/ldap.conf
ІР-адрес сервера LDAP и корневую запись каталога, с которым будет осуществляться дальнейшая рабо-
URI l dap://<1Р_адрес_сервера_Ь0АР>/
BASE Если при подключении к серверу LDAP используется протокол TLS, тов данные файлы необходимо добавить путь к каталогу, в котором располагаются соответствующие сертификаты:
TLS_CACERTDIR /etc/openldap/cacerts
Если сервис LDAP используется для аутентификации пользователей, то необходимо отредактировать файл
/etc/nsswitch.conf
и добавить обращение системы к сервису LDAP в следующих записях files ldap shadow: files ldap group: files В данном случае при аутентификации пользователей, сначала будет просматриваться локальный файл
/etc/passwd.
Если пользователь имеет локальную учетную запись, то он будет аутентифицироваться на основе файла
/etc/passwd. Если в файле
/etc/passwd
не содержится учетная запись пользователя, запрос аутентификации будет передан на сервер После того, как клиент LDAP будет настроен, необходимо протестировать подключение к серверу LDAP. Для проверки можно послть запрос для просмотра служебной информации о сервере LDAP, содержащейся записи
root DSE:
# ldapsearch -х -W -D Λc n = a d m i n ,dc=example,dc=com' -b "" -s base
Λ (objectclass=*)' +
Enter LDAP Password:

dn:
structuralObjectClass:
OpenLDAProotDSE configContext:
cn=config namingContexts:
dc=example,dc=com supportedControl:
1.3.6.1.4.1.4203.1.9.1.1 supportedControl:
2.16.840.1.113730.3.4.18 supportedExtension:
1.3.6.1.4.1.4203.1.11.1 supportedExtension:
Для настройки аутентификации с использованием сервиса LDAP в ОС Linux существует графическая утилита
Red Hat Authentication Configuration tool,
ко­
торая запускается при помощи команды
system-config-authentication
(утилита имеет консольный вариант называющийся.

В ее настройках необходимо указать ІР-адрес сервера LDAP и корневую запись каталога
(Base DN), относительно которой будет выполнять поиск учетных записей пользователей.

82
■■■■Illi
Модуль 2. Сетевое администрирование
2.2. Организация общего доступа к
файлам (NFS, SMB)
В среде ОС Linux основным средством организации общей работы сданными является сетевая файловая система
N F S
(N etw ork File System). Она позволяет пользователям совместно работать сданными, расположенными на удаленных хостах. В настоящее время NFS используется только для совместного использования файлов в средах U nix/Linux. Если в организации присутствуют W indow s- клиенты, то для обслуживания файлов, которые они будут использовать, в ОС
Linux используется сервис Samba. По умолчанию в ОС Linux используется протокол NFS версии 3, однако существует и версия 4.
2 .2 .
1. Организация общего доступа на
основе N F S
Взаимодействие хостов по протоколу NFS основано на архитектуре клиент- сервер. Сервер NFS экспортирует указанные локальные файловые системы для клиента. Клиент, в свою очередь, монтирует данные файловые системы в точки монтирования. После того как файловая система будет смонтирована клиентом по
NFS, все операции ввода-вывода к данной файловой системе адресуются серверу
NFS, клиент же работает сданной файловой системой, как будто она является локальной для него. Контроль доступа к каталогам по протоколу NFS осуществляется по ІР-адресам клиентов. В связи с этим сервис NFS, ничего не знает о пользователях, которые подключаются к нему. Данные, находящиеся на сервере
NFS получают соответствующие права, идентификаторы пользователя (U ID ) и группы (G ID ) в процессе монтирования. Если клиент использует различные идентификаторы пользователей и групп, то владелец и группа файлов, доступных побудут меняться. Например, если владельцем файла является пользователь с идентификатором ID 500 на сервере NFS, то данный файл экспортируется клиентам стем же идентификатором ID 500. Если идентификатор ID 500 принадлежит пользователю
userl
на сервере NFS, а на клиенте этот же идентификатор принадлежит пользователю
user2,
то пользователь
user2
также будет иметь доступ к данному файлу. Поэтому при использовании сервиса NFS крайне важно, чтобы каждый пользователь имел в сети уникальный идентификатор. Этого можно достичь, используя для хранения учетных записей пользователей сервисы NIS или В NFS версии 3 процесс монтирования файловой системы отличается от процесса последующего доступа к файлам. В данных операциях используются совершенно разные протоколы, и запросы обслуживаются разными демонами в первом случае - это
mountd,
во втором -
nfsd.
Н а самом деле эти демоны называются соответственно
rpc.mountd
и
rpc.nfsd
- имена служат напоминанием о том, что их работа основана на механизме
R P C (Remote Procedure Call).
Д ля их выполнения требуется демон
portmap.
На сервере NFS оба демона -
mountd
и
nfsd
- должны
Организация общего доступа на основе N FS
IIIIII··
83
запускаться на этапе начальной загрузки системы и выполняться, пока система не будет выключена. В ОС Linux существует единый in скрипт
/etc/init.d/nfs, который запускает необходимые демоны NFS автоматически, при условии, что экспортируемые файловые системы настроены должным образом.
Демоны m ountd и nfsd используют общую базу данных, содержащую ю оправах доступа, где указано, какие файловые системы следует экспортировать и какие клиенты могут их монтировать. Рабочая копия этой базы данных хранится в файле
/usr/lib/nfs/xtab. Поскольку файл базы данных представлен в бинарном формате, для добавления и редактирования записей существует вспомогательная утилита ВО С Linux имеется файл
/ete/exports, содержащий список экспортируемых каталогов в текстовом виде. По умолчанию все файловые системы, указанные в этом файле, экспортируются на этапе начальной загрузки. С помощью команды exportfs -а можно самостоятельно выполнить экспорт после внесения изменений в файл
/ete/exports. В командной строке утилиты exportfs можно указать имя клиента, путь к нужному каталогу и различные опции работает не на физическом, аналогическом уровне файловой системы. Экспортировать можно любой каталог необязательно, чтобы он был точкой монтирования или корневым каталогом физической файловой системы. Тем не менее из соображений безопасности NFS определяет границы между файловыми системами, относящимися к различным устройствами требует, чтобы каждая такая файловая система экспортировалась отдельно.
Обычно клиентам разрешается монтировать подкаталоги экспортированного каталога. Например, если сервер экспортирует каталог
/softline/users, то клиент может смонтировать подкаталога остальную часть каталога users
- проигнорировать clienti(rw,no_root_squash) client2(rw)
/usr/share/man
*.linux.lab (Каждая файловая система отделена от списка клиентов пробелом, а сразу после имени клиента в круглых скобках стоит список связанных с ним опций, разделенных запятыми. Длинные строки разрешается разбивать на части с помощью обратной косой черты.
В табл. 2.1 и 2.2 указаны возможные параметры для файла rts.
Таблица 2.1.
Варианты указания клиентов N FS
Тип
Синтаксис
Назначение
Имя хоста им яхо ста
Используется для указания отдельных хостов
Символы подстановки и Используются для подстановки в доменных именах хостов
ІР-адреса
<1Р-адрес>/<маска>
Используются для указания IP- адресов хостов и подсетей, например,
192.168.1.2/25
НЕ Я В НИМ Модуль 2. Сетевое администрирование
Таблица 2.2.
Основные опции экспорта файловых систем через N FS
Опция
го и rw
Описание
Доступ только для чтения и доступ для чтения/записи используется по умолчанию)_______________________
rw=
Доступ для чтения/записи только для указанных клиентов Разрешает обычный доступ от имени пользователя root Подмена значений UID и GID, равных 0, значениями, указанными в опциях anonuid и anongid; это установка по умолчанию Значение UID, которое нужно использовать для запросов, поступающих от пользователя root Значение GID, которое нужно использовать для запросов, поступающих от пользователя root Требует, чтобы запрос на удаленный доступ поступал с привилегированного порта___________________________
insecure
Разрешает удаленный доступ с любого порта Заставляет сервер отвечать на запросы на запись, прежде чем выполнять сами операции записи на диск Заставляет сервер выполнять сами операции записи на диск, прежде чем отвечать на запросы записи Предотвращает доступ к каталогу и его подкаталогам используется при экспорте вложенных каталогов и Не показывает/показывает файловые системы, смонтированные внутри экспортированных каталогов
Сервер NFS в Linux позволяет экспортировать родительский каталог с одними опциями, а подкаталоги - с другими. Имеется также опция
noaccess,
позволя­
ющая отменить экспорт подкаталогов, к которым ненужно предоставлять удаленный доступ.
Например, в конфигурации *.linux.lab(rw)
/home/teacher
(noaccess)
хостам домена linux.lab разрешен доступ ко всем каталогам файловой системы
/home,
кроме
/home/teacher.
Отсутствие имени клиента во второй строке означает, что установка относится ко всем хостам.
После внесения изменений в файл
/etc/exports
необходимо выполнить команду
exportfs -а,
для того чтобы изменения вступили в силу.
Демон
nfsd
принимает числовой аргумент, определяющий, сколько экземпляров самого себя нужно породить посредством системного вызова
fork.
По умолчанию используется восемь потоков
nfsd.
На загруженном сервере данный показатель должен быть в диапазоне от 12 до 20. Список параметров запуска демона
nfsd можно указать в файле
/etc/sysconfig/nfs
или же исправить in скрипт
/etc/init.
d/nfs.
Кроме того, в файле
/etc/sysconfig/nfs
можно указать статические порты,
которые будут использовать демоны NFS, что может пригодиться при настройке правил для сервиса NFS на межсетевом экране.
Настраивать сервис NFS быстрее и проще всего путем редактирования конфигурационного файла
/etc/exports.
Однако в ОС Linux для такой задачи существует и графическая утилита,
N F S Server Configuration tool,
запустить которую можно при помощи команды
system-config-nfs.
Процесс монтирования сетевых и локальных файловых систем во многом схож. Для монтирования сетевой файловой системы, доступной по NFS, используется следующая команда:
mount -о
<опции_монтирования> имя_хоста:каталог
<точка_монтирования>
Команда
mount
распознает запись вида
имя_хоста:каталог
как путь к каталогу, расположенному на указанном хосте. Этому каталогу будет поставлен в соответствие каталог локальной файловой системы, указанный в аргументе
<точ-
ка_монтирования>.
После завершения монтирования доступ к сетевой файловой системе осуществляется традиционными средствами.
Параметры, указанные после опции
-о,
говорят о том, что файловая система монтируется в режиме чтения/записи, файловые операции разрешается прерывать, а повторные попытки монтирования должны происходить в фоновом режиме. Основные опции монтирования приведены в табл. 2.3.
Таблица 2.3.
Основные опции монтирования файловых систем через N Организация общего доступа на основе N FS
Параметр
Описание
rw иго Монтирование файловой системы для чтения/записи и только для чтения ьд
Если смонтировать файловую систему не удается, следует перевести операцию в фоновый режим и продолжить обработку других запросов на монтирование Если сервер отключился, операции, которые пытаются получить к нему доступ, блокируются до тех пор, пока сервер не включится вновь Если сервер отключился, операции, которые пытаются получить к нему доступ, завершаются выдачей сообщения об ошибке.
Этот флаг полезно устанавливать для того, чтобы предотвратить зависание процессов в случае неудачного монтирования не очень важных файловых систем Позволяет прерывать с клавиатуры заблокированные операции будут выдаваться сообщения об ошибке)
nointr
Не позволяет прерывать с клавиатуры заблокированные операции Указывает, сколько раз нужно повторить запрос, прежде чем будет выдано сообщение об ошибке (для файловых систем, смонтированных с опцией Задает интервал тайм-аута для запросов (в десятых долях секунды)

86
■■■ιιιιι
Модуль 2. Сетевое администрирование
Параметр
Описание
rsize=N
Задает размер буфера чтения равный N байт Задает размер буфера записи равный N байт Использовать TCP в качестве транспортного протокола по умолчанию используется протокол Заставляет сервер отвечать на запросы на запись, прежде чем будет производиться запись данных на диск
Д ля того чтобы файловую систему NFS можно было смонтировать, ее сначала необходимо корректно экспортировать. Для проверки экспортированных файловых систем на клиенте присутствует команда showmount, отображающая экспортированные на сервере файловые системы .2 .2 .
Организация общего доступа на
основе Sam ba
В ОС имеются средства, предназначенные для организации общего доступа к файловым системам для W indow клиентов. Сервис Samba запускается как пользовательский процесс. Он устанавливает соединения с сокетами, через которые посылаются C IF S -запросы, и ждет клиентских запросов на доступ к общим ресурсам. Как только запрос поступили был аутентифицирован, демон smbd создает новый процесс smbd, который работает от имени пользователя, пославшего запрос. Таким образом, все права доступа к файлам (включая групповые права) остаются ненарушенными.
Сервис Samba можно рассматривать как серверную часть, в случае предоставления общего доступа к данным для W indow клиентов, и как клиентскую часть, в случае доступа к данным, расположенным на серверах W Для того чтобы в ОС Linux организовать общий доступна основе сервиса Sam­
ba необходимо установить следующие пакеты:
• samba, содержащий серверную часть Samba;
• samba-client, содержащий утилиты, при помощи которых можно подключаться к общим каталогам ОС Windows;
• system -config-sam ba, который содержит графическую утилиту управления сервисом Samba, Red Hat Samba Server Configuration utility;
• samba-common, который содержит общие конфигурационные файлы Sam­
ba.
Конфигурирование сервиса Samba
Конфигурационные файлы сервиса Samba располагаются в каталоге / e t c /
samba. Основным конфигурационным файлом серверной части Samba является файл /etc/sam b a/sm b .con f. В данном файле определяются следующие группы настроек:
Организация общего доступа на основе Sam b a
ниш
• Глобальные (global). В данной группе настроек определяется рабочая группа (workgroup), по смыслу аналогичная рабочим группам, используемым в ОС Windows; NetBios - имя данного сервера (netbios name), которое используется для того, чтобы клиенты W indows могли просматривать общие папки сетевого окружения сетевые интерфейсы (interfaces), используе­
мые для обработки клиентских соединений список клиентских 1Р-сетей
(hosts allow), которым разрешено подключаться к данному серверу.
Кроме того, в данной группе настроек присутствует директива security, которая определяет, будет ли данный сервер использоваться в качестве локального хранилища учетных записей пользователей. По умолчанию значением данной директивы является значение user. Если же в директиве указано значение ads, то сервер Samba будет использоваться как сервер, находящийся в домене Active D irectory В директиве passdb backend со­
держится база данных, использующаяся для хранения паролей. По умолчанию в данной директиве указан параметр tdbsam, что соответствует базе данных trivial database. Для хранения паролей можно также использовать файл smbpasswd, либо каталог LDAP.
• Настройки общих ресурсов (hom es, printers). Данные настройки используются для организации общего доступа пользователей к своим домашним каталогам, а также к общим сетевым принтерам. Каждый пользователь имеет доступ только к своему домашнему каталогу, поскольку по умолчанию используется директива browseable=no.
Д ля того чтобы запустить сервис Samba в работу необходимо запустить два демона smbd и nmbd, последний из которых используется для работы с именами
NetBios. Демоны считывают свои настройки из файла smb.conf. Помимо данных демонов в состав сервиса Samba входят следующие утилиты:
• /u sr/b in/sm b clien t, использую щ аяся для подключения к общим ресурсам
SMB;
• /sb in /m ou n t.cifs, которая используется для монтирования общих ресурсов
SMB;
/sbin/um ount.cifs, использую щ аяся для размонтирования общих ресурсов
SMB;
/e tc /in it.d /s m b - сценарий запуска сервисов Samba;
• /usr/bin/sm b print - сценарий, использующийся для печати данных на принтер, доступный через SMB хост;
• /u sr/b in /sm b statu s, которая отображает текущие соединения клиентов с демоном smbd.
Создание общих ресурсов SMB
Сервис Samba по умолчанию использует собственную базу данных пользователей. Для добавления нового пользователя в эту базу необходимо выполнить команду:

88
■■■■Illi
Модуль 2. Сетевое администрирование
smbpasswd -a <имя_пользователя>
В параметре <имя_пользователя> необходимо указать имя пользователя, который уже присутствует в системе в файле
/etc/passwd.
Данная команда записывает зашифрованный пароль пользователя в файл
/etc/samba/smbpasswd. Использование шифрования паролей задается в директиве
encrypted passwords
= yes
глобальных настроек файла
smb.conf.
Если к данному серверу Samba планируется подключать пользователей W in­
dows, в файле /etc/sam ab /sm b u sers необходимо задать соответствие между именами пользователей Samba и пользователей W indows в следующем формате:
username = Windows_userl
Д ля соотнесения нескольких пользователей W indows одному пользователю
Linux необходимо перечислить пользователей W indows через пробел в директиве
username:
[data]
comment=Private share for userl and user2
path=/shares/data read only = no valid users = userl user2
browseable = no
В данном листинге определен общий ресурс data, который будет доступен для чтения и записи только двум пользователями user2.
После того, как конфигурационный файл /etc /sa m b a /sm b .co n f будет отредактирован, его необходимо проверить на наличие ошибок при помощи команды
testparm.
По умолчанию сервисы
smbd, nmbd
и
mount.cifs
записывают системные события в файл
/var/log/messages.
Помимо журналирования системных данных демонов существует возможность журналировать информацию о подключениях клиентов. Для этого в файле
smb.conf
должна присутствовать следующая дирек­
тива:
log file = /var/log/samba/%m.log
Согласно данной директиве в файл
/var/log/samba/


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


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

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


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