Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Некоторые из описанных примеров реализуются чаще других. Ряд задач (например, задачи администрирования) создают потенциальную угрозу безопасности системы, поэтому соответствующие сценарии находят лишь ограниченное применение. Поэтому приведенные выше примеры — это не описания задач, которые должны быть решены с помощью сценариев

preexec
и
postexec
, а лишь демонстрация возможностей этих сценариев.

На заметку

Несмотря на то что вы можете задавать необходимые команды непосредственно в составе параметров

preexec
и
postexec
, гораздо удобнее оформлять команды в виде сценария оболочки и задавать сценарий в качестве значения соответствующего параметра. Это позволит вам выполнять в ответ на действия пользователей сколь угодно сложные операции.

В некоторых случаях возникает необходимость ограничить число пользователей, которые могут одновременно обращаться к разделяемому объекту. Это можно сделать с помощью параметра

max connections
. Чтобы полностью исключить одновременные действия пользователей, надо задать параметр
max connections = 1
. Однако такая конфигурация иногда создает нежелательные побочные эффекты, так как при обращении к разделяемым объектам с помощью Network Neighborhood и My Network Places соединения с разделяемыми объектами закрываются с некоторым опозданием.

Использование псевдопринтеров

Еще одну возможность использования сценариев предоставляет параметр

print command
, предназначенный для включения в описание разделяемого объекта печати. Первоначально этот параметр создавался для осуществления операций, связанных с передачей задачи на печать, но в качестве его значения можно задавать любые команды. Параметр
print command
позволяет выполнить специальную обработку PostScript-файлов и реализовать эффекты, имеющие лишь отдаленное отношение к выводу данных на печать. Этот параметр можно применять для обработки любых данных, содержащихся в файле, сгенерированном в системе Windows. Ниже приведены примеры задач, решаемых с помощью параметра
print command
.

• Передача факсов с помощью программного обеспечения Linux и PostScript-драйвера Windows. При этом даже можно воспользоваться Windows-программами, например, продуктом Respond (

http://www.boerde.de/~horstf/
) для создания интерфейса.

• Конвертирование PostScript-файлов в другие типы данных, например, представление их в виде PDF-файлов или преобразование в графический формат. Пример подобного использования параметра

print command
рассматривается ниже в этой главе.

• Непосредственный вывод на печать данных в формате, отличном от PostScript. Некоторые из таких данных корректно обрабатываются с помощью фильтров печати Linux, для них необходимость в создании специальной конфигурации не возникает, однако в ряде случаев применение

print command
вполне оправдано. Например, вы можете использовать данный параметр для обработки файлов, созданных с помощью текстового процессора, извлечения определенных полей из базы данных и выполнения других подобных действий.

• Объединяя данные в файл архива и передавая этот файл на компьютер под управлением Linux, вы можете решать задачи, подобные тем, которые решаются с помощью сценариев

preexec
и
postexec
. Вы можете создавать резервные копии файлов, преобразовывать форматы и выполнять другие действия. Пример решения подобной задачи приведен ниже.

Подобно сценариям

preexec
и
postexec
, параметр
print command
позволяет выполнять действия, которые могут создавать угрозу безопасности системы. При решении задач, предполагающих подобные действия, будьте внимательны, особенно если вы используете параметр
force user
для предоставления специальных привилегий.

В составе параметра

print command
можно использовать переменные, приведенные в табл. 7.1 (некоторые из них, например
%s
, специально предназначены для такого применения, и их появление в составе сценариев
preexec
и
postexec
не оправдано). Переменная
%H
в особенности полезна при доставке данных пользователю, инициировавшему задачу; в частности, вы можете использовать эту переменную для указания пути к каталогу, в который должны быть помещены файлы после окончания обработки.

Параметр

print command
имеет существенное преимущество перед
preexec
и
postexec
. При взаимодействии с разделяемым объектом соединение может остаться открытым, в результате сценарий
postexec
долгое время не получит управления. Если же клиент инициирует задачу печати, команды, указанные в качестве значения
print command
, сразу же выполняются. Однако следует учесть, что при выполнении некоторых операций две последовательно переданные на печать задачи могут повредить друг другу файлы с данными.

Пример использования средств Linux для записи компакт-дисков

С помощью сценариев можно сконфигурировать сервер Samba как платформу для создания компакт-дисков. Предположим, что вы администрируете сеть небольшого офиса, к которой подключены десятки клиентских компьютеров. Предположим также, что в офисе имеется лишь одно устройство, позволяющее записывать компакт-диски. Время от времени у разных пользователей возникает необходимость записать информацию на компакт-диск. Вы можете подключить устройство записи к компьютеру, на котором выполняется сервер Samba, и предоставить всем желающим возможность использовать программное обеспечение Linux для создания компакт-дисков. Однако при этом возникнут проблемы. Во-первых, вам придется обучить пользователей работать с программами записи. Во-вторых, некоторые пользователи не будут удалять после окончания записи свои файлы, что приведет к нерациональному использованию дискового пространства. Сценарии Samba позволяют автоматизировать процесс записи и разрешить возникающие проблемы.

Использование сценариев preexec и postexec для записи компакт-дисков

Предположим, что вы решили выделить один из разделяемых объектов Samba для записи компакт-дисков. Этот объект не должен использоваться ни для каких других целей. Для создания компакт-диска с помощью сценариев

preexec
и
postexec
вам необходимо обеспечить выполнение следующих задач.

1. Удаление из разделяемого объекта всех файлов.

2. Получение файлов, предназначенных для записи на компакт-диск.

Поделиться:
Популярные книги

Вернадский

Гумилевский Лев Иванович
325. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Вернадский

“Цесаревич” Часть I. Эскадренный броненосец. 1899-1906 гг.

Мельников Рафаил Михайлович
Боевые корабли мира
Научно-образовательная:
история
технические науки
военная техника и вооружение
военная история
4.00
рейтинг книги
“Цесаревич” Часть I. Эскадренный броненосец. 1899-1906 гг.

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.42
рейтинг книги
Мятежник

Газлайтер. Том 16

Володин Григорий Григорьевич
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
6.40
рейтинг книги
Газлайтер. Том 16

Старый, но крепкий 5

Крынов Макс
5. Культивация без насилия
Фантастика:
рпг
аниме
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 5

Наномашины, сынок! Том 1

Новиков Николай Васильевич
1. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, сынок! Том 1

Изгой Проклятого Клана. Том 5

Пламенев Владимир
5. Изгой
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 5

Геррон

Левински Шарль
Проза:
современная проза
7.71
рейтинг книги
Геррон

Месть Паладина

Юллем Евгений
5. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Месть Паладина

Кодекс Охотника XXVIII

Винокуров Юрий
28. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника XXVIII

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.25
рейтинг книги
Вечный. Книга III

Поворот Колеса

Уильямс Тэд
4. Орден Манускрипта
Фантастика:
фэнтези
7.33
рейтинг книги
Поворот Колеса

Сборник "Приграничье" (1-5 части)

Корнев Павел Николаевич
Приграничье
Фантастика:
боевая фантастика
9.02
рейтинг книги
Сборник Приграничье (1-5 части)

Одержимый

Джеймс Питер
Top Thriller
Детективы:
триллеры
маньяки
8.67
рейтинг книги
Одержимый