Аппаратные средства и архитектура


Интеграция Samba с системой печати CUPS



Скачать 10.18 Mb.
Pdf просмотр
страница56/68
Дата22.11.2016
Размер10.18 Mb.
Просмотров7279
Скачиваний0
1   ...   52   53   54   55   56   57   58   59   ...   68
Интеграция Samba с системой печати CUPS
В большинстве дистрибутивов Linux система печати CUPS заменила систему SysV. CUPS является более гибкой и удобной для пользователей по сравнению с SysV, и обеспечивает прозрачную совместимость со старой системой печати. Если вы используете команды lp или lpq, то, вероятно, вы работаете с CUPS.
Одним из механизмов, обеспечивающих преимущество CUPS в сравнении со старой системой печати, является предварительная обработка заданий печати. Например, если вы посылаете на печать PDF-файл, то CUPS распознает формат файла, пересылает вывод через интерпретатор (например, GhostScript) и преобразует файл в язык, который распознается принтером. Раньше для этого требовалось затратить много усилий, но сегодня все это умеет делать CUPS.
Простейшая конфигурация, необходимая для включения системы печати CUPS, показана в листинге 2.
Листинг 2. Включение поддержки CUPS
[global]
printing = cups
printcap = cups
Параметры листинга 2 устанавливаются в глобальном режиме. Первый параметр обеспечивает работу функций печати через библиотеки CUPS, а не через lpr. Второй параметр указывает Samba получить список принтеров от демона CUPS, а не из системного файла printcap. Даже если вы используете CUPS, файл printcap все равно может присутствовать в системе, поскольку CUPS поддерживает его использование для совместимости с приложениями, не поддерживающими CUPS.
Даже если CUPS интегрирована с Samba, вы можете продолжать использовать инструменты
CUPS для управления очередью печати. Если вам не приходилось работать с CUPS, то вам поможет следующий список наиболее важных команд:

lp. Отправляет вывод на принтер (обычно вывод передается этой команде по конвейеру от другой команды, например, cat /etc/motd | lp ).

cupsenable и cupsdisable. Запуск и остановка принтера, соответственно (эти команды также применяются для сброса принтера).

cupsreject. Отклоняет или принимает задание для принтера (эта команда не изменяет статус принтера, а вместо этого сообщает CUPS о необходимости отклонить входящее задание).

lpadmin. Позволяет настраивать параметры для принтера, например, устанавливать квоты.

lpq. Показывает элементы очереди для указанного принтера.

lprm. Позволяет отменять задания принтера.
Печать необработанных (raw) данных и интеллектуальная настройка
Обычно принтеры понимают такие языки описания страниц (Page Description Language,
PDL), как Adobe® PostScript® или Printer Command Language (PCL). Некоторые принтеры могут использовать языки описания страниц, разработанные их производителями. Задача по преобразованию посылаемых приложениями команд печати в команды языка описания страниц, с которым работает принтер, возлагается на драйвер принтера Windows. Без драйвера принтера посылаемые приложениями команды распечатываются непосредственно в виде текста, в результате чего на печать выводится один мусор.
Процесс перевода клиентским приложением документа в подходящий для принтера формат называется печатью необработанных данных (raw printing). В этом режиме Samba просто копирует полученные от клиента байты информации на принтер. Такой подход имеет два недостатка:

Для того чтобы клиент смог распечатать данные, на нем должен быть проинсталлирован драйвер нужного принтера.

Системе Samba трудно понять, какие именно действия выполняются; вследствие этого, например, она не может определить, сколько страниц было распечатано.
Несмотря на эти недостатки, печать необработанных данных легко настраивается. Приложив дополнительные усилия, можно настроить распространение драйверов принтеров с сервера
Samba на клиентские компьютеры.
Установка драйверов на клиентские компьютеры Windows
Заставить Samba инсталлировать драйверы принтеров – непростое дело. Самым лучшим вариантом является установка универсального драйвера PostScript и его использование для всех принтеров. О том, как преобразовать клиентские PostScript-данные в формат, подходящий для использования принтером, позаботится CUPS, используя свою
интеллектуальную систему печати. Реализовав этот подход вместо использования "родных" драйверов, вы также сможете подробно узнать о том, какое количество страниц было распечатано.
Вам потребуется загрузить пакет с драйверами CUPS (текущая версия – cups-windows-6.0-1.i386.rpm) ссылку на который вы найдете в разделе
Ресурсы
. Этот пакет устанавливает в директорию /usr/share/cups/drivers следующие драйверы:

cups6.inf

cups6.ini

cupsps6.dll

cupsui6.dll
Драйверы CUPS поддерживают только клиентов Microsoft Windows 2000 и выше; обычно все работает хорошо, однако более поздняя утилита Samba жестко запрограммирована на поиск устаревших драйверов Microsoft и не работает в случае их отсутствия. В вашей системе должны присутствовать следующие файлы, которые также должны быть скопированы в директорию /usr/share/cups/drivers:

ps5ui.dll

pscript5.dll

pscript.hlp

pscript.ntf
Обычно эти файлы находятся в директории C:\WINDOWS\ServicePackFiles\i386.
Когда все эти восемь файлов будут скопированы в директорию драйверов CUPS, мы создадим общий ресурс print$. Этот общий ресурс жестко задан для всех клиентов Windows, которые ищут в нем драйверы принтера после того, как он установлен. Конфигурация этого ресурса не содержит ничего необычного и показана в листинге 3.
Листинг 3. Общий ресурс print$
[print$]
comment = Printer Driver Export path = /etc/samba/drivers browseable = yes guest ok = no read only = yes write list = root
Конфигурация в листинге 3 настраивает простой общий ресурс, доступный в режиме "только для чтения" всем пользователям, за исключением пользователя root. Не забудьте перезапустить Samba для вступления изменений в силу.
Наконец, установим драйверы принтера с помощью команды cupsaddsmb. Если ваш общий ресурс печати называется Downstairs_Laser, то просто запустите команду cupsaddsmb -v
Downstairs_Laser. Вам будет предложено ввести пароль пользователя root, после чего вы увидите на экране поток выполняющихся действий.
Теперь клиенты могут подключаться к серверу Samba и дважды щелкнуть значок принтера.
Они смогут использовать принтер без выполнения дополнительных действий (например, идентификация принтера или установка драйвера).
Драйверы для принтеров определенных производителей
Для того чтобы система CUPS понимала, что именно распечатывается, следует использовать
универсальный драйвер CUPS PostScript. Если вы решите установить на клиентские компьютеры драйверы Windows, то процедура будет похожей. Во-первых, в этом случае не используется команда cupsaddsmb. Вы вручную копируете драйверы в директорию
/etc/samba/drivers, а также в директорию, соответствующую архитектуре (в предыдущем случае за вас это делала утилита cupsaddsmb ). Например, для 32-разрядных драйверов используется директория W32X86.
Для того чтобы сообщить Samba о драйвере, используется команда rpcclient. Вы должны указать имена файлов драйвера принтера и официальное имя принтера. Практический пример есть в разделе
Ресурсы
Ведение учета и безопасность
Применительно к принтерам ведение учета означает отслеживание и установку квот на допустимое количество используемой бумаги для каждого пользователя. Безопасность означает возможность знать, кто использует принтеры, и при необходимости ограничивать доступ к ним. Под доступом к принтеру можно понимать возможность распечатывать документы на этом принтере или возможность отменять задания печати других пользователей.
Безопасность принтеров
Задачей Samba в процессе вывода задания на печать является получение от клиента файла, предназначенного для печати, например, PostScript, и передача его подсистеме CUPS. Все действия, которые выполняет Samba, например, отображение клиенту статуса очереди печати, выполняются через подсистему CUPS, которая запрашивает необходимые файлы и управляет принтерами. Samba является лишь связующим звеном между CUPS и клиентами.
Можно заставить клиентов печатать напрямую через CUPS, используя протокол печати через
Интернет (IPP, Internet Printing Protocol). Тем не менее, нельзя недооценивать простоту установки принтеров из сетевого окружения Microsoft Network Neighborhood. Просто помните о том, что любое управление на уровне Samba можно потенциально переопределить на уровне подсистемы CUPS, если клиенты подключаются напрямую через нее.
Предположим, что общий ресурс печати защищен с помощью параметра valid users = alice, bob, который позволяет отправлять задания на печать только двум пользователям.
Если пользователь mallory попытается напечатать документ через Samba, ему будет отказано в доступе. Если подсистема CUPS не была настроена с такими же разрешениями, то пользователь mallory может отправить документ на печать через очередь CUPS.
Другая проблема безопасности связана с гостевыми пользователями. Если вы можете перечислить всех пользователей, которым необходим доступ к принтеру, то убедитесь, что в разделе конфигурации
[printers] установлен параметр guest ok = no. После этого только прошедшие аутентификацию пользователи смогут отправлять задания на печать. В противном случае вашими принтерами смогут воспользоваться даже посторонние пользователи.
Квоты печати
CUPS, а не Samba, управляет не только заданиями печати, но и ведением учета. CUPS позволяет использовать квоты печати, которые ограничивают количество страниц, которое может распечатать отдельный пользователь за определенный интервал времени. В листинге 4 показано, как установить квоту для принтера.
Листинг 4. Установка квоты для принтера
# lpadmin -p Downstairs_Laser -o job-quota-period=604800 -o job-page-limit=100 \
job-k-limit=50000
В листинге 4 для принтера задаются три параметра. Первый – это временной интервал квоты, равный 604 800 секундам (т. е. 1 неделе). Второй параметр – это ограничение на количество страниц, распечатываемых за указанный временной интервал (в нашем случае 100 страниц).
Третий параметр ограничивает объем распечатываемых данных 50 мегабайтами. Поскольку трудно оценить данный объем, то последний параметр является необязательным, хотя он позволяет ограничивать объем распечатываемых графических изображений.
Для проверки установленной для принтера квоты загляните в файл /etc/cups/printers.conf, в котором вы увидите параметры
QuotaPeriod, PageLimit и KLimit с только что заданными значениями. Чтобы убрать все квоты, установите эти параметры в
0.
Ведение учета печати
Каждое задание печати записывает все события в файл page.log, который обычно расположен в директории /var/log/cups. В листинге 5 показана типовая строка этого файла.
Листинг 5. Типовая запись журнала учета печати
Downstairs_Laser 755 sean [26/Apr/2011:15:02:27 -0500] 1 1 - localhost smbprn.0019.FWqosE
В левой части строки содержится наиболее важная информация. Перечислим все поля по порядку:

Имя принтера.

Номер, назначенный заданию печати.

Пользователь, распечатавший документ.

Дата в формате GMT и часовой пояс.

Количество напечатанных страниц.

Количество отправленных на печать копий.
Таким образом, количество использованных страниц – это количество напечатанных страниц помноженное на количество отправленных копий. Подробное описание остальных полей журнала вы найдете в разделе
Ресурсы
Примечание. Самым серьезным ограничением квот системы CUPS является то, что они применяются ко всем пользователям.
Что дальше
Следующая статья этой серии содержит материалы цели 312.4 темы 312. В ней рассматривается использование Samba в качестве основного и резервного контроллеров домена Microsoft.
Ресурсы
Научиться

Оригинал статьи:
Learn Linux, 302 (Mixed environments): Print services
(EN).

Онлайновая man-страница smb.conf
(EN) более удобна в использовании, чем текстовая версия.

Прочитайте материал темы 107
(EN) учебного руководства developerWorks, чтобы освежить в памяти управление печатью из командной строки.


В главе 21
(EN) руководства Samba-HOWTO описана "классическая" поддержка печати, которая использовалась до появления CUPS. На этом Web-сайте также представлен практический пример добавления принтера драйвера Windows.

В главе 22
(EN) руководства Samba-HOWTO содержится дополнительная информация об интеграции CUPS и Samba.

В разделе page_log
(EN) документации CUPS перечислены все поля журнала печати, на тот случай, если вам понадобится собрать какие-то дополнительные сведения.

На Web-сайте программы сертификации LPIC
(EN) вы найдете подробные цели, списки задач и примерные вопросы всех трех уровней сертификации на администратора Linux-систем профессионального института Linux. В частности, на этом сайте представлены подробные цели экзамена LPI 302
(EN), а также примеры заданий и вопросов
(EN).

Просмотрите всю серию статей для подготовки к экзаменам института LPI
(EN) на сайте developerWorks, основанных на предыдущих целях, определенных до апреля
2009 года, чтобы изучить основы администрирования Linux и подготовиться к экзаменам для получения сертификата администратора Linux.

Материалы для подготовки к исправленным экзаменам LPIC
(EN) содержат список дополнительных ресурсов института LPI, которые помогут вам при подготовке к получению сертификата.
Получить продукты и технологии

Загрузите драйвер CUPS для Windows
(EN).

Загрузите последнюю версию Samba
(EN), чтобы использовать все ее новые возможности.
Изучаем Linux, 302 (смешанные среды):
Управление доменом
Использование Samba для сетевой аутентификации
Родерик Смит (Roderick Smith)
, автор и консультант, IBM
Описание: С точки зрения SMB/CIFS домен и рабочая группа ничем не отличаются – в обоих случаях это единый набор компьютеров, обычно находящихся в одной локальной сети.
Однако в домене имеется специальный компьютер – контроллер домена, который управляет учетными записями и подключениями клиентов ко всем серверам домена, а также выполняет ряд дополнительных ролей. Samba может работать в качестве контроллера домена, но для этого необходимо настроить ряд параметров.
Больше статей из этой серии
Дата: 07.06.2012
Уровень сложности: средний

Об этой серии
Эта серия статьей поможет вам освоить задачи администрирования операционной системы
Linux. Вы можете использовать материалы этих статей для подготовки к экзаменам программы LPIC третьего уровня (LPIC-3)
Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему перечню материалов для подготовки к экзаменам LPIC-3
. Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит текущие (по состоянию на
ноябрь 2010 года) цели экзаменов сертификации LPIC-3.
Краткий обзор
В этой статье рассматриваются следующие темы:

Членство в домене.

Настройка первичного контроллера домена.

Настройка резервного контроллера домена.

Добавление компьютеров в домен.

Управление сценариями входа в систему.

Управление перемещаемыми профилями.

Управление системными политиками.
Эта статья поможет вам подготовиться к сдаче экзамена LPI 302 (специализация "Смешанные среды") и содержит материалы цели 312.4 темы 312. Цель имеет вес 4.
Предварительные требования
Чтобы извлечь наибольшую пользу из этой статьи, необходимо обладать практическими навыками работы с инструментами командной строки Linux и знать основы конфигурирования Samba. Вы должны знать общую структуру конфигурационного файла smb.conf и уметь редактировать его в каком-либо текстовом редакторе. Вы должны уметь настроить сервер Samba для работы с файлами.
Настройка основных доменных функций
Основная функция контроллера домена заключается в управлении проверкой подлинности других компьютеров. Для этого сервер Samba должен уметь принимать определенные типы данных аутентификации от клиентов и соответствующим образом отвечать им. Для включения этой возможности необходимо настроить несколько параметров в файле smb.conf.
На практике контроллеры домена выполняют дополнительные роли в сетевом окружении, поэтому может потребоваться настроить дополнительные параметры Samba.
Прежде чем двигаться дальше, необходимо рассказать о взаимодействии компьютеров в домене Microsoft® Windows NT®. Контроллер домена является ядром такой сети. Клиентами домена могут быть файловые серверы или серверы печати под управлением Samba, операционной системы Windows® или другого программного обеспечения. Эти компьютеры называются серверами, являющимися членами домена, и являются как серверами (по отношению к рабочим станциям пользователей), так и клиентами (по отношению к контроллеру домена). Архитектура сетевого окружения может повлиять на эти отношения.
Например, в одноранговой сети один и тот же компьютер может являться как сервером-членом домена, так и клиентом файлового сервера. Контроллер домена может работать в качестве файлового сервера и даже в качестве клиента.
Настройка обязательных доменных функций
Минимальная конфигурация для работы Samba в качестве контроллера домена предполагает настройку следующих параметров smb.conf.
workgroup = EXAMPLE
security = User encrypt passwords = Yes passdb backend = tdbsam:/etc/samba/private/passdb.tdb domain logons = Yes admin users = ntadmin
Некоторые из этих параметров при необходимости можно изменить, а некоторые – нет.
Рассмотрим их подробно:

workgroup – задает имя домена Windows NT. Домен – это просто рабочая группа с дополнительными возможностями.

security – этот параметр должен иметь значение User.

encrypt passwords – этот параметр должен иметь значение Yes.

passdb backend – этот параметр может иметь любое допустимое значение, однако, если предполагается использовать и основной, и резервный контроллеры домена, то, возможно, потребуется задать для него определенное значение в соответствии с разделом
Настройка резервного контроллера домена

domain logons – этот параметр должен иметь значение Yes.

admin users – задает имена одного или нескольких пользователей (в нашем примере ntadmin), которые будут являться администраторами. Эти пользователи будут иметь привилегии пользователя root для любых общих ресурсов, к которым они подключаются. Чтобы иметь возможность присоединять новые компьютеры к домену, необходимо указать администраторов либо таким способом, либо добавить пользователя root в базу учетных записей Samba.
Эти параметры накладывают определенные условия, а именно: сервер Samba должен содержать локальные учетные записи Linux всех пользователей, которых он должен аутентифицировать, и эти учетные записи также должны присутствовать в базе паролей
Samba. Как только Samba будет настроена в соответствии с этими требованиями, она начнет принимать доменные учетные записи компьютеров под управлением Microsoft Windows
9x/Me или компьютеров Samba, настроенных с параметром security = Server. Для обеспечения работы с учетными записями компьютеров под управлением более новых ОС
Windows или компьютеров Samba, настроенной с параметром security = Domain, необходимо создать доверительные учетные записи компьютеров.
Создание доверительных учетных записей компьютеров
Любой компьютер можно свободно добавить в сетевое окружение рабочей группы, однако для получения всех преимуществ доменного окружения компьютер должен являться полноправным членом домена. С точки зрения пользователя главное преимущество доменного окружения заключается в использовании механизма единого входа (single sign-on), которая означает, что пользователю достаточно один раз ввести имя и пароль, чтобы получить доступ к любому серверу, также являющемуся членом домена. С точки зрения администрирования Samba членство в домене позволяет использовать на рядовых серверах домена параметр конфигурации security = Domain. Этот параметр обеспечивает более надежную защиту по сравнению с параметром security = Server, хотя для полного присоединения компьютера к домену требуется выполнить ряд дополнительных действий.
Для полного присоединения к домену компьютер (как рядовой сервер домена, так и клиентская рабочая станция) должен иметь собственную учетную запись на контроллере домена. К самим контроллерам домена это требование не предъявляется. Учетная запись компьютера никак не связана с учетными записями работающих на нем пользователей и называется доверительной учетной записью компьютера.

Лучше всего использовать отдельную группу Linux, которая будет содержать доверительные учетные записи всех компьютеров. Следующая команда создает группу с именем trust, которая и будет использоваться для этих целей:
# groupadd -r trust
После того, как группа доверительных учетных записей компьютеров создана, можно переходить к созданию самих учетных записей – по одной для каждого члена домена
(клиента или сервера) в вашей сети. В качестве имен учетных записей вы должны использовать NetBIOS-имена компьютеров, преобразованные в нижний регистр и оканчивающиеся знаком доллара (
$). Например, если NetBIOS-имя вашего компьютера
WEMBLETH, то его доверительная учетная запись будет называться wembleth$. Для создания учетных записей можно использовать команды useradd и smbpasswd, как показано ниже:
# useradd -d /dev/null -M -g trust -s /bin/false wembleth$
# smbpasswd -a -m wembleth$
В этом примере мы создали доверительную учетную запись компьютера с именем wembleth$, задали для нее домашнюю директорию /dev/null (
-d /dev/null), указали, что эту директорию не нужно создавать (
-M), добавили учетную запись в группу trust (-g trust) и установили в качестве командной оболочки значение /bin/false (-s /bin/false).
Во второй команде для этой учетной записи была создана запись в базе паролей Samba и указан ее тип с помощью параметра
-m (доверительная учетная запись компьютера).
Если вы создали нового пользователя для параметра admin user, то необходимо задать для него пароль Samba с помощью команды smbpasswd (аналогично команде smbpasswd ntadmin для задания его пользовательского пароля). Эта учетная запись будет использоваться при добавлении компьютеров в домен и обладает высокими привилегиями
Samba. Если вы не намерены использовать эту учетную запись для выполнения других задач, то мы рекомендуем закомментировать строку admin users в файле smb.conf после того, как вы присоедините все клиентские компьютеры к домену.
Настройка дополнительных доменных функций
Конфигурация, рассмотренная в предыдущем разделе, является достаточной для выполнения наиболее важных функций контроллера домена, тем не менее контроллеры домена, как правило, выполняют дополнительные роли в сетях NetBIOS. В частности, контроллер домена может выступать в роли главного обозревателя домена, сервера Windows Internet Name
Service (WINS, другой вариант названия – NetBIOS Name Server) или сервера времени. Эти дополнительные службы можно настроить с помощью следующих параметров:
domain master = Yes preferred master = Yes os level = 65
wins support = Yes time server = Yes
После того, как эти изменения будут сохранены в файле smb.conf, Samba по прошествии определенного времени обнаружит их и изменит свой режим работы. Если вы хотите ускорить этот процесс, то для немедленной перезагрузки конфигурации можете послать серверу сигнал
SIGHUP или использовать сценарии инициализации SysV вашего
1   ...   52   53   54   55   56   57   58   59   ...   68


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал