by Carla Schroder, author of the Linux Cookbook
Перевод: Сгибнев Михаил
Комбинация Samba и CUPS позволяет довольно просто организовать печать в смешанной Linux/Windows сети.
Вы можете совместно использовать принтеры, подключенные к Linux с клиентами Windows,
и принтеры, подключенные к Windows совместно с Linux клиентами.
Сервер печати, построенный на Linux/Samba/CUPS, надежен, прост в установке и легок в обслуживании.
CUPS без Samba позволяет сделать превосходный сервер печати и для Windows и для Linux, но есть один недостаток:
нет возможность использовать сетевой принтер Windows.
CUPS автоматически предоставляет сетевые драйверы принтера для Linux машин, а CUPS совместно с Samba может
делать тоже самое для Windows машин.
Вы должны иметь функционирующую локальную сеть, все ваши Windows машины должны быть в одной рабочей группе,
Linux машина, с уже подключенным и настроенным принтером, CUPS и Samba, готовой к работе.
При начальной настройке системы неплохо было бы выполнять команды от пользователя root, подобно примеру ниже,
так как это облегчает поиск неисправностей, но после настройки рекомендую использовать учетную запись
администратора Samba.
Получение драйверов
Первым делом нам потребуется
CUPS driver for Windows или
Adobe PostScript driver.
В настоящее время драйвет CUPS недоступен, хотя его появление ожидается в ближайшее время.
Adobe driver package работает под всеми версиями Windows, так что вы можете обойтись без драйверов CUPS.
Драйверы CUPS лучше устанавливать на Windows NT/2000/XP, так как они лучше работают и предоставляют больше
возможностей. Но CUPS не поддерживает Windows 95/98/ME. Итак, нам необходимы файлы:
CUPS files for Windows NT/2000/XP
cups.hlp
cupsdrvr.dll
cupsui.dll
Adobe PostScript files for Windows 95/98/ME
ADFONTS.MFM
ADOBEPS4.DRV
ADOBEPS4.HLP
DEFPRTR2.PPD
ICONLIB.DLL
PSMON.DLL
Adobe PostScript files for Windows NT/2000/XP
ADOBEPS5.DLL
ADOBEPSU.DLL
ADOBEPSU.HLP
В этой статье мы будем использовать Adobe drivers. Загрузите
Adobe driver installer,
(английская версия называется winsteng.exe) на Windows PC и запустите установку. Также вы можете скопировать необходимые файлы на Samba сервер.
Ищите эти два каталога после инсталляции: w32x86, который содержит файлы для Windows 95/98/ME и WIN40, который содержит файлы для Windows NT/2000/xp.
Следующий шаг - редактирование smb.conf для установки printers и print$. Вы должны использовать именно эти имена, так как они
зарезервированы Samba. Сейчас мы разбираем пример не требующий авторизации, учтите, что у вас будут свои имена хостов,
имя рабочей группы и сетевые адреса.
workgroup = familia
server string = %h lan file server (Samba %v)
hosts allow = 192.168.1.
netbios name = windbag
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
security = user
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
load printers = yes
printing = cups
printcap name = cups
[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
guest ok = yes
public = yes
writable = no
create mode = 0700
printer admin = root
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
write list = root
Сохраните изменения и выполните команду testparm. Если ваш smb.conf был проверен без сообщения об ошибках, то
перезапустите Samba:
# /etc/init.d/samba restart
Убедитесь в существовании учетной записи администратора Samba:
# smbpasswd -a root
New SMB password:
Retype new SMB password:
Теперь копируем каталоги WIN40 и w32x86 в /usr/share/cups/drivers.
Если вы используете CUPS, то убедитесь, что имена файлов в нижнем регистре.
Выполните эту команду, для того чтобы связать CUPS и Samba:
# ln -s `which smbspool` /usr/lib/cups/backend/smb
Копирование драйверов
Теперь пришло время использовать cupsaddsmb для инсталляции всех CUPS принтеров в Samba.
Приведенные ниже команды предполагают, что CUPS, Samba и драйвера находятся на одной машине.
# cupsaddsmb -U root -v -a
Password for root required to access localhost via SAMBA:
....
Running command: rpcclient localhost -N -U'root%1234' -c 'setdriver hp6L hp6L'
Succesfully set hp6L to driver hp6L.
Используйте ваш пароль Sambaю Вы должны видеть мелькающие строки, и две последние должны напоминать пример выше.
Сделаем еще изменение в файле конфигурации smb.conf: заменим security = user на security = share
и затем перезапустим Samba. Искомой цели можно добиться и более изящным способом, просто необходимо лишить
пользователя возможности получить привилегии администратора и запустить cupsaddsmb.
В идеале, теперь мы можем идти на любую Windows машину, устанавливать сетевой принтер и драйвер устройства
автоматически будет скачан.
Сервер печати Linux
Настроить сервер печати - великое дело! Вы можете настроить доступ к принтерам, используя права доступа Samba, заодно
не дадите пропасть старому Pentium, есть возможность подключить несколько принтеров, используя PCI-карту расширения
параллельных портов, а если использовать USB, то вообще можно стать мировым лидером в печати...
Справочный материал
- Смотрите следующие страницы man:
cupsaddsmb (8)
smb.conf (5)
smbpasswd (5)
- Глава 23 Linux Cookbook и
Глава 14.
- Ukfdf 19 из The Official Samba-3 HOWTO and Reference Guide