Настройка доступа к принтерам также выполняется в файле smb.conf. В составе системы Red Hat поставляется файл smb.conf, уже содержащий настройки для обеспечения совместного доступа к принтерам. Следующие строки следуют в файле smb.conf системы Red Hat непосредственно за разделами global и homes:
[printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes
Строки printcap и load printers раздела global готовят сервер к организации совместного доступа к принтерам, определенным в файле printcap. Приведенный раздел printers делает эти принтеры доступными клиентам, подобно тому, как раздел homes делает доступными пользователям их исходные каталоги. В Red Hat раздел ресурса printers содержит пять параметров.
С тремя из них - comment, browseable и path - мы уже встречались. Однако в случае принтеров параметр path определяет не путь к файлам, но путь к каталогу буферной зоны печатающих устройств SMB.
Здесь мы познакомимся еще с двумя параметрами. Первый из них, printable, указывает, что данный ресурс является принтером. По умолчанию этот параметр имеет значение по , то есть ресурсы по умолчанию считаются файловыми. Чтобы создать ресурс принтера, необходимо присвоить этому параметру значение yes. Использование printable = yes разрешает клиентам запись файлов для печати в каталог буферной зоны, обозначенный параметром path. Чтобы ограничить права доступа к файлам, создаваемым клиентами в каталоге буферной зоны, используйте команду create mode. К примеру, такую: create mode = 0700.
Вторая новая строка, guest ok, определяет, разрешен ли доступ к ресурсу «гостям». Действие данного параметра абсолютно идентично действию параметра public, о котором говорилось выше, так что эти два параметра взаимозаменяемы. Значение по запрещает пользователю nobody отправку заданий на принтер. Пользователю нужна действующая учетная запись, чтобы воспользоваться принтером. По замыслу такой подход предотвращает злоупотребление принтером со стороны пользователей с гостевым доступом, однако корректное имя пользователя позволяет еще и выполнять сортировку заданий печати, если используются титульные листы и ведется учет потребления ресурса.
Как правило, сервер печати предлагает всем клиентам доступ ко всем своим принтерам. При этом для каждого принтера может быть создан отдельный совместно используемый ресурс - точно так же, как в случае файлов. Если вы не хотите открывать доступ ко всем принтерам, удалите раздел printers, назначьте параметру load printers значение по , а затем создайте отдельные разделы ресурсов только для тех принтеров, которые должны быть доступны клиентам. Файл smb.conf с разделом ресурса для отдельного принтера может выглядеть следующим образом:
[global] workgroup = BOOK S server string = Print Server load printers = no security = user [homes] comment = Home Directories browseable = no writable = yes [hp5m] comment = PostScript Laser Printer path = /var/spool/samba browseable = no public = no create mode = 0700 printable = yes printer = lp
В данном файле отсутствует раздел printers. Вместо него мы добавили раздел ресурса с именем hp5m - и этот ресурс обеспечивает доступ к принтеру по имени 1р. Чтобы схема заработала, принтеру должно соответствовать определение в файле printcap. Для параметра printcap можно использовать значение по умолчанию - /etc/printcap.
Демон smbd в Samba обеспечивает совместный доступ к файлам и принтерам. Второй компонент Samba - демон nmbd.