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

на главную

Жанры

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

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

Шрифт:

Листинг 7.2. Сценарий для записи компакт-диска с помощью параметра print command

#!/bin/sh

# $1 - Рабочий каталог пользователя, выполняющего запись на диск

# $2 - Имя zip-файла

# $3 - Имя пользователя, выполняющего запись на диск

# $4 - Путь к zip-файлу

mkdir -p $1/cdr/samba

cd $1/cdr/samba

unzip $4/$2

mkisofs -J -r -o $1/image.iso ./

cdrecord speed=2 dev=4,0 $1/image.iso

mail -s "CD-R creation finished" $3

rm $1/image.iso

rm -r $1/cdr/samba

Сценарий

и разделяемый объект, используемые в данном примере, надо сконфигурировать так же, как это было сделано для объекта
[cd-create]
и сценария
create-cd
. Файл, содержащий сценарий, должен быть определен как исполняемый, опции утилит
mkisofs
и
cdrecord
необходимо привести в соответствие с конфигурацией вашей системы, а для утилиты
cdrecord
надо установить признак SUID, чтобы она выполнялась с правами
root
. Для записи компакт-диска необходимо передать zip-файл разделяемому объекту, используя для этого команду
COPY
системы DOS или Windows.

С:\> COPY FILE.ZIP\\SERVER\CD-PRINT

В результате выполнения данной команды содержимое файла

FILE.ZIP
будет записано на компакт диск. Очевидно, что вместо
SERVER
при вызове команды должно быть указано имя конкретного сервера. Эту команду следует поместить в файл
.ВАТ
; имя zip-файла будет передаваться ей с помощью переменной.

COPY %1 \\SERVER\CD-PRINT

При вызове файла

.ВАТ
надо указать файл архива. Так, если файл, содержащий команду копирования, имеет имя
MAKECD.ВАТ
, то для его вызова используется команда
MAKECD FILE.ZIP
. Если вы создадите на рабочем столе ярлык, представляющий файл
.ВАТ
, то для записи компакт-диска достаточно будет перетащить файл архива на пиктограмму файла
.ВАТ
. В состав файла
.ВАТ
можно также включить вызов утилиты архивирования файлов. В этом случае, чтобы записать диск, пользователь должен будет собрать все необходимые ему файлы в одном каталоге и перетащить этот каталог на пиктограмму файла
.ВАТ
.

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

Пример создания PDF-файлов

В качестве примера использования очереди печати можно привести задачу преобразования входных PostScript-данных в PDF-файлы. Для ее решения надо создать очередь подобную той, которая используется для обработки данных, сгенерированных с помощью PostScript-драйвера. Описание разделяемого объекта имеет следующий вид:

[pdf-create]

comment = Create a PDF file

path = /var/spool/samba

printable = Yes

print command = gs -dNOPAUSE -q -dBATCH -sDEVICE=pdfwrite \

 -sOutputFile=%H/%s.pdf %s; rm %s

На заметку

Символ

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

С помощью параметра

print command
вызывается исполняемый файл Ghostscript (
gs
). Опции
– dNOPAUSE
,
– q
и
– dBATCH
обеспечивают непрерывный вывод данных с минимальным набором специальных сообщений, не требующий вмешательства пользователя. Опция
– sDEVICE=pdfwrite
указывает на то, что в результате выполнения программы должны генерироваться PDF-файлы, а опция
– sOutputFile=%H/%s.pdf
формирует имена файлов, отличающиеся от имен заданий на печать только суффиксом
.pdf
. Сформированные PDF-файлы сохраняются в рабочем каталоге пользователя. Определение данного разделяемого объекта можно модифицировать так, чтобы PDF-файлы помещались в другой каталог или передавались пользователю в составе почтовых сообщений.

Резюме

Samba — сложный инструмент, позволяющий организовать совместное использование файлов и принтеров. Этот продукт позволяет добиться большой степени гибкости при решении конкретных задач. Если Samba поставляется в составе дистрибутивного пакета Linux, то сформированный по умолчанию конфигурационный файл обеспечивает работу данного продукта в сети. Изменять конфигурацию Samba приходится в тех случаях, когда необходимо реализовать более сложные функции (например, когда сервер Samba должен действовать как контроллер домена). В составе конфигурационного файла также приходится определять разделяемые объекты. Как правило, изменения, вносимые в состав конфигурационного файла, не сложные и легко могут быть выполнены администратором средней квалификации. Одной из привлекательных особенностей Samba является способность выполнять заданные команды при наступлении определенных событий. Благодаря такой возможности Samba можно использовать для решения задач, непосредственно не связанных с разделением файлов и принтеров.

Глава 8

Совместное использование файлов с помощью NFS

Протоколы Server Message Block (SMB)/Common Internet Filesystem (CIFS), рассмотренные в предыдущей главе, очень удобны для организации совместного доступа к файлам и принтерам клиентов, работающих под управлением DOS, Windows, OS/2 и многих других систем. Однако эти протоколы не поддерживают некоторые характеристики файловых систем UNIX и Linux, например, не позволяют задавать владельца файла и права доступа. Поэтому для разделения файлов в системах UNIX и Linux целесообразно использовать другой протокол, а именно NFS (Network Filesystem — сетевая файловая система). В отличие от SMB/CIFS, NFS не поддерживает принтеры. Вопросы совместного использования принтеров будут рассмотрены в главе 9.

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

Как правило, серверы NFS применяются для разделения файлов в системах UNIX и Linux. Необходимость в совместном доступе к файлам может возникнуть по разным причинам. Возможно, вы захотите хранить на сервере программы большого объема для того, чтобы их можно было запускать на клиентских машинах с дисками малого размера. Часто сервер NFS используют как централизованное хранилище файлов; изменения, внесенные в файл, сразу становятся доступными всем пользователям. Если в сети применяется централизованная система регистрации, например Kerberos, целесообразно размещать на сервере NFS рабочие каталоги пользователей. Такой подход обеспечивает высокую степень гибкости. В этом случае пользователь перестает быть "привязанным" к своей рабочей станции и может регистрироваться с любого компьютера и работать со своими данными. Существует множество других ситуаций, в которых оправдано применение серверов NFS. Например, вы можете разместить рабочие каталоги пользователей на локальных компьютерах, а сервер NFS использовать для обмена файлами или организовать чтение данных из статической базы, расположенной на сервере.

Несмотря на то что система NFS ориентирована на использование в сетях, состоящих в основном из компьютеров под управлением UNIX, клиенты и серверы NFS разработаны и для других систем, например для Windows, OS/2 и MacOS. Выбор инструмента разделения файлов зависит от конкретной ситуации. В большинстве случаев наилучшие результаты достигаются при использовании в системе Linux протокола, специально разработанного для других систем. Примером подобного решения является организация сервера SMB/CIFS на компьютере под управлением Linux. Кроме того, для настройки сервера Samba в системе Linux потребуется намного меньше времени и усилий, чем для инсталляции и конфигурирования средств поддержки NFS на клиентских компьютерах. Если же в сети в основном используются машины под управлением UNIX и Linux и лишь несколько компьютеров Windows или MacOS, предпочтительнее использовать для разделения файлов систему NFS. (Система MacOS X базируется на UNIX, поэтому средства поддержки NFS хорошо работают в этой среде, однако для их настройки с помощью графического интерфейса MacOS придется затратить много усилий.)

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

Помещица Бедная Лиза

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Помещица Бедная Лиза

Магия чистых душ 3

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Магия чистых душ 3

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Кровь на эполетах

Дроздов Анатолий Федорович
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Кровь на эполетах

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Тринадцатый V

NikL
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый V

Антимаг его величества. Том III

Петров Максим Николаевич
3. Модификант
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Антимаг его величества. Том III

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Бездомыш. Предземье

Рымин Андрей Олегович
3. К Вершине
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Бездомыш. Предземье

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

Я – Орк. Том 5

Лисицин Евгений
5. Я — Орк
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 5