Таким образом, на вопрос о том, следует ли использовать Ghostscript или драйвер целевого принтера, невозможно дать однозначный ответ. Выбирая конфигурацию системы, следует учесть специфику решаемых задач и характеристики вашей сети. При желании вы можете также поэкспериментировать с обеими конфигурациями и на практике определить, какой подход дает лучшие результаты в вашей сети и с вашими принтерами. Скорее всего, вы убедитесь в том, что для одних принтеров целесообразно использовать Ghostscript, а для других лучше установить драйверы этих принтеров на клиентском компьютере.
Одна из самых привлекательных особенностей Samba — возможность выполнения сценариев. Вы можете задавать команды, которые будут выполнены при наступлении определенных событий. Благодаря поддержке сценариев Samba можно использовать для решения задач, непосредственно не относящихся к совместному использованию файлов и принтеров. В начале данного раздела мы обсудим сценарии preexec
и postexec
и псевдопринтеры, а в заключение рассмотрим примеры использования этих средств.
Сценарии preexec
и postexec
Samba поддерживает параметры preexec
и postexec
, которые позволяют выполнять некоторые команды при регистрации пользователя и завершении его работы с разделяемым объектом. В качестве значения параметра preexec
задаются команды, которые должны быть выполнены при регистрации пользователя, соответственно команда, указанная как значение postexec
, выполняется при завершении работы пользователя с объектом. Например, если вы хотите, чтобы при обращении к разделяемому объекту сервер Samba передавал почтовое сообщение по адресу billy@harding.threeroomco.com
, вы должны включить в определение этого объекта следующее выражение:
preexec = mail -s "Share being used" \
billy@harding.threeroomco.com
Если пользователь зарегистрируется для работы с объектом, Samba пошлет от его имени сообщение по адресу billy@harding.threeroomco.com
. В поле Subject
сообщения будет включена строка " Share being used
", а по адресу отправителя получатель сможет выяснить, кто из пользователей работал с объектом.
Аналогично действует параметр postexec
, но команда, заданная в качестве его значения, выполняется после окончания работы с объектом. Зная особенности работы Windows-клиентов с разделяемыми объектами SMB/CIFS, можно сделать вывод, что команда не будет выполнена сразу же после того, как пользователь закроет окно, открытое с помощью Network Neighborhood или My Network Places, но через некоторое время это обязательно произойдет.
Разновидностями параметров preexec
и postexec
являются параметры root preexec
и root postexec
. Отличаются они лишь тем, что команды, заданные в качестве значений root preexec
и root postexec
, выполняются от имени пользователя root
. Таким образом, можно задавать команды, для выполнения которых требуются специальные привилегии. Используя эти параметры, следует соблюдать осторожность. Если вы допустите ошибку, у вас могут возникнуть проблемы, связанные с безопасностью системы.
При выполнении сценариев сервер Samba может обрабатывать переменные, перечисленные в табл. 7.1. Эти переменные позволяют настроить сценарии preexec
и postexec
для работы с конкретными пользователями, клиентами, операционными системами, установленными на клиентских компьютерах, и т.д. (Некоторые из переменных, представленных в табл. 7.1, специально предназначены для использования в разделяемых объектах принтеров.)
Таблица 7.1. Переменные, доступные в системе Samba
Переменная |
Назначение |
%a |
Операционная система на клиентском компьютере. Возможные значения: OS2 (OS/2), Samba, UNKNOWN, WfWg (DOS или Windows for Workgroups), Win2K, Win95 (Windows 95 или 98) и WinNT |
%d |
Идентификатор процесса сервера |
%g |
Основная группа, к которой относится пользователь, указанный в переменной %u |
%G |
Основная группа, к которой относится пользователь, указанный в переменной %U |
%h |
Доменное имя сервера (в домене TCP/IP) |
%H |
Рабочий каталог пользователя, информация о котором содержится в переменной %u |
%I |
IP-адрес клиента |
%j |
Номер задания на печать |
%L |
NetBIOS-имя сервера |
%m |
NetBIOS-имя клиента |
%M |
Доменное имя клиента (в домене TCP/IP) |
%N |
Сервер NIS |
%p |
Путь к каталогу, связанному с разделяемым объектом, используемый при автомонтировании |
%P |
Путь к каталогу, связанному с разделяемым объектом |
%R |
Уровень протокола SMB/CIFS. Возможные значения: CORE, COREPLUS, LANMAN1, LANMAN2 и NT1 |
%s |
Имя файла, переданного разделяемому объекту принтера |
%S |
Имя разделяемого объекта |
%T |
Текущая дата и время |
%u |
Эффективное имя пользователя UNIX |
%U |
Имя пользователя, зарегистрированного в системе UNIX (может не совпадать с именем, хранящимся в переменной %u ) |
%v |
Номер версии Samba |
Параметры preexec
и postexec
в основном предназначены для того, чтобы задавать команды, подготавливающие разделяемые объекты к использованию. Так, например, если есть опасность, что пользователь, работающий в системе Windows, по ошибке удалит конфигурационный файл Linux, сценарий preexec
можно использовать для создания резервной копии этого файла. Кроме того, параметры preexec
и postexec
применяются для решения самых разнообразных задач; некоторые из них описаны ниже.
Читать дальше