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

ЖАНРЫ

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

Рис. 9.4. Общие ресурсы

Просмотреть общие ресурсы компьютера можно с помощью опции –L (см. рис. 9.4).

Список Browse list (см. рис. 9.4) показывает другие smb-сервера в сети с доступными ресурсами. Опция –I разрешает программе smbclient работать с именами DNS. Например, если домен называется domain.ru, то просмотреть общие ресурсы компьютера nt_ws1 можно командой:

$ smbclient –L –I nt ws1.domain.ru

9.4. Доступ к принтеру Linux

для Windows-машин

Для обеспечения поддержки печати мы уже сделали почти все возможное. Параметр секции [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. Подключение сетевого принтера

9.5.

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

Прежде всего, вам нужно создать правильные записи в файле /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

# Он использует программу smbclient для печати файла на сетевом

# принтере, который подключен к рабочей станции Windows.

#

# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint

#

# Запись создает unix-принтер, названный "smb", который будет

# печатать с помощью этого скрипта. Вам необходимо создать директорию

# спула /usr/spool/smb с соответствующими правами и владельцем

# Установите здесь имя сервера и принтер, на который вы хотите печатать.

# Далее скрипт был изменен Майклом Гамильтоном (Michael Hamilton)

# так что сервер, сервис и пароль могут быть считаны из файла

Поделиться с друзьями: