Читаем Linux-сервер своими руками полностью

Для обеспечения поддержки печати мы уже сделали почти все возможное. Параметр секции [global] load printers загружает принтеры из файла /etc/printcap (см. листинг 9.1). Используется система печати BSD. Теперь осталось определить секцию [printers] файла smb.conf (см. листинг 9.5). В этой секции задаются глобальные параметры для всех принтеров, поэтому нет необходимости указывать их отдельно для каждого принтера.

Листинг 9.5. Секция [printers]

[printers]

comment = All Printers

security=server

path = /var/spool/lpd/lp

browseable = no

printable = yes

public = yes

writable = no

create mode = 0700

Некоторые параметры, используемые в этой секции (browseable, writable, comment), имеют те же значения, что и в секции [homes]. Параметр path задает буферный каталог, в который файлы будут копироваться перед печатью (так называемый спул принтера). Параметр public в значении yes разрешает печать из-под гостевой учетной записи, то есть всем желающим. Чтобы запретить печать из-под гостевой учетной записи укажите public=no. В этом случае доступ к принтеру будут иметь только зарегистрированные на сервере пользователи. Вместо параметра public иногда используется его синоним — параметр guest ok. Параметр writable установлен в значении по для того, чтобы в буферный каталог принтера (спул) могли записываться только печатаемые файлы.

Возможно, вам потребуется разрешить печать только одному или нескольким определенным пользователям на каком-то определенном принтере. Сделать это можно так, как это показано в листинге 9.6.

Листинг 9.6. Разрешение печати определенному пользователю

[admprn]

valid user = root admin administrator

path = /home/admin

printer = canon

public = no

writeable = no

printable = yes

Подключение к Windows-компьютеру сетевого принтера, подключенного к Linux-серверу или Linux-станции, осуществляется аналогично подключению обыкновенного сетевого принтера, подключенного к рабочей станции Windows. В операционной системе Windows 98 для этого проделайте следующие действия:

1. Выполните команду меню Пуск→Настройка→Принтеры.

2. Активизируйте мастера Установки принтера.

3. Выберите тип принтера: сетевой.

4. Укажите путь к принтеру или нажмите на кнопку «Обзор» для автоматического выбора ресурса (см. рис. 9.5).

5. Далее установка сетевого принтера аналогична установке локального. 

Рис. 9.5. Подключение сетевого принтера

<p>9.5. Доступ к Windows-принтеру с компьютеров, работающих под Linux</p>

Прежде всего, вам нужно создать правильные записи в файле /etc/printcap. С форматом этого файла вы можете ознакомиться в листинге 9.7.

Листинг 9.7. Файл printcap

#  /etc/printcap

#

#  //nt_wsl/hp5m via smbprint

#

lp:\

# просто комментарий

 :cm=HP 5MP Postscript hp5m on nt_wsl:\

# имя устройства, открываемого для вывода

 :lp=/dev/lp0:\

# директория спула принтера (на локальной машине)

 :sd=/var/spool/lpd/lp:\

# файл учета использования принтера

 :af=/var/spool/lpd/lp/acct:\

#  максимальный размер файла.

#  Если указано, значение «ноль», то ограничение снимается

 :mx#0:\

# имя фильтра

 :if=/usr/bin/smbprint:

В листинге 9.7 приведено (в комментариях) описание полей файла printcap, но, я думаю, не помешает отдельно привести их перечень:

cm — задает комментарий;

lp —  имя устройства, открываемого для вывода;

sd — директория спула принтера на локальной машине;

af — файл учета использования принтера;

mx — максимальный размер файла. Если указано значение «ноль», то ограничение снимается;

if — имя входного фильтра.

Возвращаясь к настройке доступа, убедитесь, что каталог для спула принтера существует и разрешен для записи. Также нужно указать существующее устройство для вывода. В листинге 9.7 этим устройством является /dev/lp0. В пакет Samba входит сценарий smbprint. С помощью этого сценария можно распечатывать документы на сетевом принтере, используя сервисы SMB. Возможно, в состав вашего пакета он не входит, поэтому я воссоздал его в листинге 9.8. Этот листинг частично позаимствован из руководства по пакету Samba.

Листинг 9.8. Сценарий smbprint

#!/bin/sh –x

# (с) Andrew Tridgell

# Этот скрипт является фильтром для системы печати, использующей

# файл /etc/printcap

Перейти на страницу:

Все книги серии Секреты мастерства

Похожие книги