В данной статье описывается подключение к компьютерам под управлением ОС Astra Linux разделяемых принтеров, подключенных к компьютерам под управлением Windows. См. тж. Подключение принтеров к Astra Linux
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
-
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
-
Astra Linux Special Edition РУСБ.10015-16 исп. 1
-
Astra Linux Common Edition 2.12
При наличии драйвера для ОС Astra Linux
- Открыть общий доступ к принтеру:
Войти в свойства принтера, и на вкладке Доступ, активировать опцию «Общий доступ к данному принтеру», и присвоить ему простое сетевое имя без пробелов и спецсимволов:
В данном случае имя принтера HP1522. - Перейти в «Панель управления» — «Программы и компоненты» — «Включение или отключение компонентов Windows» и включить «Служба печати LPD»:
- Нажать «ОК», и перезагрузить компьютер.
На компьютере с ОС Astra Linux
- Открыть графический инструмент «Принтеры» («Пуск» — «Панель управления» — «Оборудование» — Принтеры»);
- Нажать «Добавить принтер», выбирать «Принтер» — «Другой» — «Сетевое подключение» — «Протокол LPD (UNIX)» — «Сканировать».
В параметрах сканирования указать «узел» и ввести IP-адрес Windows-компьютера.
В поле «Обнаруженные устройства» должен появится принтер. - Выделить появившийся принтер, нажать «ДА».
- В поле «Введите имя очереди LPD» ввести имя принтера, которое было указано ранее на вкладке общего доступа в Windows (в данной статье это HP1522):
- Нажать «Да» , указать название принтера, выбрать соответствующий принтеру драйвер, и напечатать тестовую страницу.
При отсутствии драйвера для ОС Astra Linux.
На компьютере Windows
Если к Windows подключен принтер, для которого нет драйвера для ОС Linux, то печать можно настроить через виртуальный PS-принтер.
Для настройки понадобится ПО для Windows:
- Принтер — на котором будем печатать;
- Ghostscript — виртуальный PostScript принтер;
- Redmon — Redirector Port Monitor.
Порядок настройки:
- Скачать ПО Ghostscript;.
- Установить Ghostscript в каталог C:gs (установка в Program Files не рекомендуется).
- Распаковать и установить Redmon;
-
Создать файл C:gsprinter.rsp со следующим содержимым:
-IC:gsgs9.27lib;C:gsgs9.27ResourceFonts
-sDEVICE=mswinpr2
-dNOPAUSE
-dSAFER
-sPAPERSIZE=a4
-sOutputFile="%printer%HP Universal Printing PCL 6"
Возможно, в первой строке придется поменять в путях версию ghostscript (в примере — версия 9.27), и выбрать другой формат бумаги (-sPAPERSIZE=a4).
В последней строке после %printer% указать полное имя принтера, можно с пробелами. - Далее в «Принтеры и устройства» добавить новый принтер:
Добавить локальный принтер
Выбрать «Добавить локальный принтер» - Создать новый порт: Redirected port
PRT1: - Выбрать стандартный PS драйвер принтера, в примере OKI B4300PS:
- Указать название принтера:
- Разрешить общий доступ по сети:
- В свойствах принтера на вкладке «Порты» выбрать ранее созданный порт и нажать настроить:
-
Настроить порт:
В поле «Arguments for this program» обязательно в конце указать «пробел» и «-«
На компьютере с ОС Astra Linux
- На компьютере с ОС Astra Linux добавить принтер как LPD с драйвером Generic Postscript Printer.
- Напечатать пробную страницу.
В этой статье я расскажу как сделать принтер общим, в операционной системе Linux, для локальной сети. Это даст возможность печатать с любого компьютера, локальной сети, на этом принтере.
Если у вас один принтер и несколько компьютеров в локальной сети, то как правило подключают принтер к одному из компьютеров и открывают к нему общий доступ.
Когда принтер подключен к компьютеру с операционной системой Windows сделать это не составит труда.
Достаточно в свойствах принтера поставить галочку в поле — разрешить общий доступ к принтеру.
На другом компьютере локальной сети вы просто устанавливаете сетевой принтер. Система найдет его в сети и вы сможете указать его для установки.
Рассмотрим вариант когда принтер подключен к машине с операционной системой Linux.
Вот тут не все так просто, для обычного пользователя.
Теоретически, принцип такой же как и в windows. Делаем принтер общедоступным в компьютере к которому он подключён. Потом настраиваем его на нужном нам компьютере как сетевой принтер.
Как я настраивал свой принтер Canon LBP 6000 — подробно в этой статье.
Для дальнейших действий:
- принтер должен быть у вас подключен к компьютеру
- настроен для печати, на этом компьютере.
Открываем общий доступ к принтеру.
В Linux печатью управляет CUPS.
Из википедии:
CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.
Состав CUPS:
диспетчер печати
планировщик
система фильтрации, преобразующая данные печати в формат, понятный принтеру
Back-end — система, отправляющая данные на устройства печати.
Чтоб сделать принтер общедоступным нам необходимо зайти в настройки службы CUPS .
Для этого вам необходимо в браузере зайти по адресу:
http://localhost:631/
Открыть вкладку Администрирование и поставить галочку в чек боксе — разрешить совместный доступ
При внесении различных изменений, система может спросить логин и пароль — нужно вводить логин и пароль администратора этой системы Linux.
Теперь ваш принтер будет доступен для остальных компьютеров в локальной сети.
Подключаем общедоступный принтер к другому компьютеру.
Для того, чтоб подключить общедоступный принтер в linux, в локальной сети, нам необходимо знать ip адрес компьютера к которому он подключен.
Вам может в этом помочь статья про команды в линукс.
Как посмотреть свой MAС и IP описано в этой статье.
Теперь открываем браузер на компьютере, которому будем настраивать принтер.
Не зависимо от того какая операционная система на нем стоит, для всех систем это работает одинаково.
Пишем путь к системе управления принтером, указав вместо localhost, IP адрес компьютера к которому принтер подключен.
Например, если пк с принтером имеет адрес 192.168.1.41
http://192.168.1.41:631/printers
Перед вами откроется страница сервиса печати компьютера с общедоступным принтером.
Вам необходимо зайти на вкладку принтеры и выбрать нужный вам принтер.
В результате в адресной строке браузера вы увидите полный путь к нашему общедоступному принтеру.
Теперь открываем мастер установки принтеров, на компьютере в котором нужно его настроить.
Для этого открываем панель управления, выбираем принтеры и устройства , установка сетевого принтера.
Внизу нажимаем — нужный принтер отсутствует в списке и в поле Выбрать общий принтер по имени — вставляем или прописываем этот путь.
Нажимаем далее, если спросит какой принтер указываем его из списка и далее.
Так же если нет вашего принтера в списке можно выбрать установить с диска и указать, на заранее подготовленный, файл — драйвер вашего принтера.
Если у вас windows 10
Открываете параметры, устройства, принтеры и сканеры.
Выбираете пункт — необходимый принтер отсутствует в списке и указываете путь вручную.
Данная статья не имеет очень подробных описаний каждого действия пользователя так как подразумевается, что если вы настраиваете сетевое оборудование имеете минимальные знания администрирования.
Если, что то Вам не понятно пишите в комментариях — отвечу и постараюсь помочь.
Если есть кому, что дополнить или поделиться опытом пишите в комментариях.
Всем Удачи!
3 августа 2021
Содержание
- Операционные системы Astra Linux
- Как установить принтер в Astra Linux
- Astra Linux установка принтера
- Добавление принтера через веб интерфейс принт сервера
- admin
- Один комментарий
- Операционные системы Astra Linux
- Общий принтер в локальной сети на Linux
- Подключение с Windows к принтеру установленном на Linux
- Подготовка Linux`a перед подключением принтера
- Настройка Windows перед подключением к принтера находящегося на Linux
- Подключаем в Windows принтер установленный на Linux ( сервер CUPS)
- Печать и подключение с Windows 7 на Linux
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник
Как установить принтер в Astra Linux
Так как отечественная операционная система Astra Linux понемногу завоевывает сердца пользователей, её уже устанавливают не только в государственных учреждения но и дома. В связи с чем у рядовых пользователей появляется очень много вопросов. Например, а как в Astra Linux установить принтер. У данной ОС есть неплохой wiki справочник, в котором описано практически все. Но как правило очень кратко и с минимальным количеством скриншотов. В связи с чем я решил написать эту небольшую статью с пошаговым описанием действий для самых не опытных.
У меня на сайте еще несколько статей посвящены ОС Astra Linux рекомендую с ними ознакомиться.
Astra Linux установка принтера
Для того чтобы добавить принтер заходим в меню «Пуск» выбираем раздел «Системные» и «Принтеры».
В открывшемся окне на панели инструментов выбираем «Принтер» и жмем «Добавить».
Тут отмечаем «Принтер» и жмем «Далее».
Произойдет поиск принтеров, как подключенных по USB так и сетевых. Остается только выбрать нужный и кликнуть «Далее»
В следующем окне можно изменить информацию о принтере и открыть общий доступ. Кстати если поле «Драйвер» пустое то к сожалению ваш принтер не поддерживается Astra Linux.
После завершения установки принтер появиться в списке и им можно будет пользоваться.
Добавление принтера через веб интерфейс принт сервера
Также можно воспользоваться веб интерфейсом принт сервера, для этого открываем браузер и вводим адрес
Откроется страница на которой нужно кликнуть «Добавить принтер».
Выбираем нужный принтер.
Указываем необходимую информацию. Если нужно открываем общий доступ.
Жмем «Добавить принтер».
При необходимости изменяем стандартные настройки принтера.
После чего принтер появиться в списке и его можно будет использовать.
Вот два способа добавления принтера в Astra Linux.
admin
Один комментарий
оба, два способа хороши, но мне ни один ни другой увы, не помогли, однако, в домашней сети, где на трёх машинах установлена xubuntu_16.04-theme_win7_v4.1-amd64 описанные вами способы работоспособны вполне успешно. Четвёртую машину, на которой установлена Астра Линукс покуда не удалось вписать в домашнюю сеть и принтер сетевой HP LaserJet 1010 к Астре подключить.
Источник
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник
Общий принтер в локальной сети на Linux
Использование одного общего принтера в сети из нескольких компьютеров давно стало обычным явлением. Эта задача свободно решается как в сетях с операционной системой Windows, так и с Linux. Ниже будет рассмотрен пример статьи, которой описана настройка сети, состоящей из машин под управлением Linux, к одной из которых подключен принтер.
Итак, исходные данные:
Считаем, что cups уже установлен и принтер подключен к соответствующему компьютеру.
Для начала на компьютере, к которому подключен принтер, нужно браузером зайти на адрес http://127.0.0.1:631 (Это веб-интерфейс сервера печати cups (Common Unix Print System)) и настроить принтер. В качестве имени принтера используем «Default_Printer». После этого заходим в свойства принтера и жмём кнопку «Publish Printer». Если её там нет значит принтер уже итак является общим.
Далее открываем в редакторе файл /etc/cups/cupsd.conf и рядом со строкой:
И перезапускаем cups:
Теперь cups будет слушать не только localhost, но и локальную сеть. Убедиться в этом можно командой:
Вывод будет выглядеть примерно вот так:
Затем снова открываем в редакторе файл /etc/cups/cupsd.conf и секцию:
Нужно привести к виду:
И снова перезапустить cups:
На этом настройке компьютера с подключенным принтером заканчивается. Переходим к настройке остальных компьютеров. Здесь настройка много проще: достаточно привести файл /etc/cups/printer.conf к виду:
И перезапустить cups.
Всё! Можно пользоваться.
Основным преимуществом такого подхода является простота замены принтера (в случае необходимости), поскольку при смене принтера достаточно дать новому принтеру в cups такое же имя, какое было у старого и тогда даже не придётся менять настройки на других компьютерах.
Источник
Подключение с Windows к принтеру установленном на Linux
Привет друзья! Последнее время все чаще, да бы сэкономить свои денежные средства, многие фирмы и компании предпочитают использовать Linux, воспользовавшись одной из бесплатных операционных систем, например такой, как CentOS. Таким образом, компании удается сберечь немалую сумму денег и полностью легализировать свое программное обеспечение.
Но, как известно в одну минуту переустановить на всех машинах операционную систему не реально, поэтому этот переход затягивается на довольно длительное время. В общем, выходит так, что у многих будет установлен Windows, а у других CentOS, но менеджерам все равно, как-то нужно работать и обмениваться информацией между собой, несмотря даже на эти неудобства.
И одним из таких неудобств является подключение принтера к Windows, который находится на Linux. Заметьте, что я сказал неудобство, так как подключить принтер можно, но не всегда это получается сделать так легко, как в Windows.
В свое время с подобным я тоже сталкивался и долго искал на англоязычных сайтах нужную мне информацию. Поэтому, было принято решение оставить на сайте заметку, о том, как подключить и печатать с Windows на Linux — server CUPS. Я понимаю, что эта статья может не понадобится начинающим пользователям, но возможно мои коллеги смогут найти здесь нужные им вещи, что позволит им подключить принтер и печатать со среды Windows на компьютер на котором установлен Linux.
Подготовка Linux`a перед подключением принтера
Установив принтер на Linux, ему так же как и на операционных системах Windows нужно установить общий доступ, который позволит подключится к принтеру, любому компьютеру, находящегося в той же сети.
Поэтому, для его включения, открываем браузер и установив курсор на адресную строку, указываем там следующее: localhost:631.
Должна открыться админ панель подсистемы печати, на которой для того, что бы появилась возможность с Windows подключится к принтеру настроенному на Linux, нужно установить разрешение на совместный доступ.
В общем, переходим на вкладку «Администрирование» и в разделе параметры сервера отмечаем два пункта галочками, первый это «Разрешить совместный доступ к принтерам», а второй «Разрешить печать из Интернета». Потом нажимаем на «Сохранить».
Запустится сохранение новых настроек, это займет несколько секунд, обязательно дождитесь окончания и только потом закрывайте окно.
Настройка Windows перед подключением к принтера находящегося на Linux
Так, теперь перед подключением к принтера установленному на Линуксе, в Windows так же нужно провести небольшую настройку системы. А точнее, нам потребуется включить функцию поддерживающею печать на CUPS — сервера.
Поэтому, с помощью пуска запускаем «Панель управления» — «Установка программ». Теперь в открывшемся меню выбираем раздел «Установка компонентов Windows».
Должен появится мастер установки компонентов, в котором нам нужно дополнительно подключить еще одни компонент с названием «Другие службы доступа к файлам и принтерам в сети». Для включения, просто, напротив компонента с таким названием поставьте галочку и нажмите «ОК».
Запустится установка выбранного компонента, займет это несколько секунд, в некоторых случаях, несколько минут.
В некоторых операционных системах для окончания установки этих служб, система может попросить вас вставить диск с дистрибутивом Windows. К сожалению, в таких случаях без него не обойтись, поэтому возможно придется записать Windows на чистый диск или создать загрузочную флешку.
Ну, а если у вас все прошло без проблем, тогда закрываем окошко и приступаем к следующим шагам подключения к Windows принтера установленного на Linux`e.
Кстати, данное руководство понадобится только пользователям использующим, в качестве основной операционной системы, Windows XP. Начиная с более современных операционных систем, таких как Vista и Семерка, данная функция уже включена по умолчанию, поэтому можете не заморачиваться над этой настройкой и переходи сразу к подключению принтера.
Подключаем в Windows принтер установленный на Linux ( сервер CUPS)
Итак, теперь давайте приступ, непосредственно, к самому подключению принтера.
Заходим в меню «Принтеры и факсы», и запускаем установку нового принтера.
Далее, в мастере настройки принтеров выбираем пункт «Сетевой принтер или принтер подключенных другому компьютеру» и кликаем на «Далее».
Теперь, устанавливаем отметку на пункте «Подключится к принтеру в Интернете», в поле, которое находится чуть ниже, указываем путь к принтеру подключенному к Линуксу.
Выглядит он должен следующим образом:
http://nazvaniepk:631/printers/HP_laserJet_1020
http://192.168.29.98:631/printers/HP_laserJet_1020
Давайте теперь разберём, что означает каждое слово в этой строке:
Так, прописав адрес, нажимаем на «Далее», если на Линуксе открыт общий доступ и в пути было указанно всё правильно, тогда у вас программа подключения, должна запросить установку драйвера для подключаемого устройства.
Для установки драйвера нужно скачать его и нажав на «Установить с диска» указать путь к скачанный файлам, вот и всё.
На этом подключение в Windows принтера установленного на Linux завершенным, вам же останется только попробовать напечатать пробную страницу.
Печать и подключение с Windows 7 на Linux
На всякий случай давайте я рассмотрю подключение и для Windows 7.
Зайдя в настройки устройств и принтеров, жмем по кнопке «Установить принтер».
Далее «Добавить сетевой, беспроводной принтер».
Нажав на этот пункт, начнется обнаружения принтеров, которые доступны в сети, но мы просто игнорируем это и кликаем по строке «Нужные принтеры отсутствуют в этом списке».
Дальше, установив галочку на «Выбрать общий принтер по имени», указываем путь, как я делал это чуть выше.
В принципе, дальше все также, прописываем путь к принтеру, устанавливаем драйвер и пробуем пустить что-нибудь на печать и радуемся результату.
Если печать пошла значит все было сделано верно. Ну, надеюсь вам все понятно, но если нет, тогда оставляйте ваши вопросы в комментариях или добавившись в группу ВК, сделать это там. В любом случае я, как обычно, попытаюсь вам ответить и помочь в решение проблемы
Источник
Чтобы расшарить принтер на linux, идём на следующий адрес с помощью любого браузера (порт 631):
http://localhost:631/
Шаг1. Открыть общий доступ к принтеру в Ubuntu Linux (через IPP)
Дело в том, что в Linux печатью управляет служба CUPS. В Ubuntu, доступ к настройкам службы CUPS возможен через любой браузер на localhost по порту 631 — т.е. нужно открыть адрес «http://localhost:631«
Идём на адрес http://localhost:631/, открываем вкладку Администрирование, установить чекбокс Разрешить совместный доступ к принтерам, подключенным к этой системе
Компьютер с непосредственно подключенным (и уже расшаренным) принтером назовём «сервер«. Понадобится IP сервера, который можно узнать командой ifconfig
После установки чекбокса «Разрешить совместный доступ к принтерам, подключенным к этой системе» нужно подключить локальный принтер для всех «клиентов» — тех компьютеров, которые будут пользоваться принтером по сети.
Шаг 2. Подключение share-принтера на Linux-клиенте.
Если общий принтер на linux, то для подключения принтера на клиенте Linux скорее всего будет достаточно в настройках апплета «Печать» выбрать одно из: новый принтер, найти сетевой принтер, сетевой адрес и т.д., ввести ip сервера и нажать поиск. Принтер будет найден и подключен автоматически. Если вдруг по ip не удалось найти принтер, то проделать шаг 3 как для Windows-клиента.
Шаг 3. Подключение share-принтера на Windows-клиенте.
Для Linux тоже работает. Открываем в браузере настройки службы CUPS, указав ip сервера, например:
http://192.168.0.106:631/printers,
где 192.168.0.106 — ip-адрес нашей Linux машины c принтером.
Если компьютер виден в сети, то откроется страница со списком принтеров:
Выбираем нужный нам принтер щелчком по нему и копируем ссылку. Т.е. нам нужен полный http путь до принтера (да-да, IPP — Internet Printing Protocol — дает возможность печати через сетевые протоколы TCP/IP). Ссылка должна быть вида: http://192.168.0.106:631/printers/Hewlett-Packard-hp-LaserJet-1010. Остаётся добавить новый принтер по этой ссылке. В Windows вставляем ссылку на принтер в «Мастере установки принтеров» в поле «Подключиться к принтеру в Интернете, в домашней сети или в интрасети«:
ответил 9 лет назад
|
Так как отечественная операционная система Astra Linux понемногу завоевывает сердца пользователей, её уже устанавливают не только в государственных учреждения но и в частном секторе а также в качестве домашней ОС. В связи с чем у рядовых пользователей появляется очень много вопросов. Например, а как в Astra Linux установить принтер. У данной ОС есть неплохой wiki справочник, в котором описано практически все. Но как правило очень кратко и с минимальным количеством скриншотов. В связи с чем я решил написать эту небольшую статью с пошаговым описанием действий для самых не опытных.
У меня на сайте есть еще несколько статей посвященных ОС Astra Linux, рекомендую с ними ознакомиться.
Настройка разрешения экран
Установка и настройка Samba
Системный монитор
Политика учетных записей
Установка Squid
Astra Linux установка принтера
Для того чтобы добавить принтер, необходимо зайти в меню «Пуск» и выбрать раздел «Системные» и пункт «Принтеры».
В открывшемся окне на панели инструментов выбираем «Принтер» и жмем «Добавить».
Тут отмечаем «Принтер» и жмем «Далее».
Произойдет поиск принтеров, как подключенных по USB так и сетевых. Остается только выбрать нужный и кликнуть «Далее»
В следующем окне можно изменить информацию о принтере и открыть общий доступ. Кстати если поле «Драйвер» пустое то к сожалению ваш принтер не поддерживается Astra Linux.
После завершения установки принтер появиться в списке и им можно будет пользоваться.
Добавление принтера через веб интерфейс принт сервера
Также можно воспользоваться веб интерфейсом принт сервера, для этого открываем браузер и вводим адрес
localhost:631/admin
Откроется страница на которой нужно кликнуть «Добавить принтер».
Выбираем нужный принтер.
Указываем необходимую информацию. Если нужно открываем общий доступ.
Жмем «Добавить принтер».
При необходимости изменяем стандартные настройки принтера.
После чего принтер появиться в списке и его можно будет использовать.
Вот два способа добавления принтеров в операционной системе Astra Linux.
Главная → Просто о сложном → Для веб-программистов → Расшаривание принтера в Ubuntu для Windows и наоборот
Расшариваем в Убунту для Виндовс СПОСОБ 1
В Ubuntu проделываем следующее:
Заходим в Система — Администрирование — Печать…
Затем в Сервер — Параметры
Отмечаем галочкой «Публиковать общие принтеры, подключенные к этой системе»
В Windows проделываем следующее:
Заходим в браузер по адресу http://ip-адрес-компьютера-с-принтером:631/printers/
Копируем адрес вида http://192.168.1.2:631/printers/hp-LaserJet-1010
Заходим в раздел «Принтеры и другое оборудование» «Панели управления»
Выбираем пункт «Установка принтера»
Ставим галочку на «Сетевой принтер…». Жмем «Далее»
Ставим галочку на «Подключиться к принтеру в интернете, в домашней сети или в интрасети», вставляем полученный ранее адрес принтера
Выбираем драйвер и завершаем установку*
Расшариваем в Виндовс для Убунту СПОСОБ 2
Думаю как расшарить принтер в винде объяснять не нужно, главное попробуйте расшарить принтер, чтобы можно было печатать из другого виндового компьютера, убедитесь, что принтер действительно расшарен.
Включаем поддержку самбы в винде (как это сделать чуть позже напишу).
В убунту добавляем сетевой принтер, далее выбираем способ: виндовс принтер через самба,
Далее ищем, если не находит, то добавляем по форме: smb://guest@айпи-компьютера/имя_принтера_в_сети
Например: smb://guest@192.168.1.127/Canon_MP250_2
Кстати в Лубунту и ЮнибиксЛубунту по умолчанию нет возможности добавить виндовс принтер через самба, но это легко включить, установив три пакета: libsmbclient, smbclient, pyton-smbc
Расшариваем в Убунту для Убунту СПОСОБ 3
Установить и настроить локальный принтер на том компьютере к которому он подключен
ОТкрываем localhost:631 и нажимаем напротив принтера: Разрешить совместный доступ и Разрешить печать из Интернета (если надо)
Узнаем наш айпи командой «ifconfig -a»
Далее идем на второй компьютер с линуксом, пуск-администрирование-епчать-добавить принтер-найти сетевой принтер.
Если нашел — отлично, если нет то вбиваем ручками, например так: ipp://192.168.0.234:631/printers/blackstar
Расшариваем в Виндовс для Виндовс СПОСОБ 4
Это самый простой и детский спобоб, поэтому его распишу как будет время.
Для всех случаев:
должны быть установлены пакеты samba и cups
cups — интерфес печати для linux
samba — сервер общих ресурсов для windows
Команды установки для терминала
sudo apt-get install cups
sudo apt-get install samba
Команда рестарта cups
sudo /etc/init.d/cups restart
команда рестарта samba
sudo service smbd restart
Также есть хорошая инструкция для совсем нестандартных случаев:
http://forum.ubuntu.ru/index.php?.0
Одной из трудностей перехода на Linux является сложность работы компьютера, работающего под управлением свободного ПО в смешанной сети. Если в работе локальной сети используется технология «Интранет», то организовать отправку и получение информации менее проблематично. Однако одна из проблем — это отправка документов на печать. Проблема имеет решение, если принтер подключен непосредственно к Linux станции и настроен на работу под управлением данной системы. Однако как быть в том случае, если принтер подключен к рабочей станции, работающей под управлением ОС Windows?
Немного «погуглив» я нашел для себя следующее решение:
в командной строке вводим команду для просмотра открытых для доступа сетевых ресурсов на станциях, работающих под управлением ОС Windows — smbtree. Введем пароль который может служить для доступа к ресурсам (если используется анонимный доступ, то пароль можно не вводить).
У меня это выглядело, примерно, так:
$ smbtree
Password:
ADMINISTRATION
\UVR
\UVRXerox Phaser 3120 Xerox Phaser 3120
\UVREpson Stylus C43 Series (M) Epson Stylus C43 Series (M)
Запускаем в браузере систему настройки печати (http://localhost:631/) и производим стандартную процедуру настройки принтера с небольшими изменениями.
Дойдя до раздела Device for [настраиваемый принтер] выбираем Windows Printer via Samba
В разделе Device URI for [настраиваемый принтер] вводим следующее: smb://[полный адрес принтера]. У меня это выглядело примерно так smb://UVR/Epson Stylus C43 Series (M).
Далее процедура настройки ничем не отличается от стандартной. Приятной работы.
Интересная статья? Поделитесь ей с друзьями!
Состояние перевода: На этой странице представлен перевод статьи CUPS/Printer sharing. Дата последней синхронизации: 13 июля 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Эта статья содержит инструкции по совместному использованию принтеров между системами, будь то между двумя системами GNU/Linux или между системой GNU/Linux и Microsoft Windows.
Создание класса для нескольких принтеров
‘Класс’ в CUPS имеет значение группы. Когда у вас есть несколько принтеров, подключенных к одному серверу CUPS, вы можете захотеть их сбалансировать (задания на печать автоматически помещаются в очередь для разных принтеров). Это также дает преимущество в том, что пользователи на удаленной машине работают с одним ‘принтером’. Что особенно полезно, когда один принтер вышел из строя, вы просто исключаете его из класса, но для конечных пользователей ничего не изменится — печать заданий, поставленных на другой принтер сервером CUPS, продолжает обрабатываться. Создание и управление классами можно выполнять из веб-интерфейса CUPS.
Внутри систем GNU/Linux
Сервер можно настраивать с помощью веб-интерфейса или путем ручного редактирования файла /etc/cups/cupsd.conf
.
Смотрите статью CUPS (Русский) для настройки клиента.
Использование веб-интерфейса
Для доступа к странице администрирования CUPS, откройте в браузере адрес: http://localhost:631.
В верхней части находится вкладка Администрирование — кликните по ней, нажмите на кнопку добавления принтера, при этом будут автоматически определены подключенные принтеры. Если этого не произойдет, отключите принтер и подключите его снова.
После создания принтера зайдите в раздел Сервер и установите флажок напротив «Разрешить совместный доступ к принтерам, подключенным к этой системе». После клика по Сохранить, сервер будет перезапущен автоматически.
Для более детальной настройки вы можете отредактировать файл /etc/cups/cupsd.conf
, нажав кнопку «Редактировать конфигурационный файл». Для получения дополнительной информации смотрите #Ручная настройка.
Ручная настройка
На сервере (тот, который управляет и подсоединён к принтеру) разрешите доступ к серверу, изменив строчки с тэгом Location. Например:
/etc/cups/cupsd.conf
<Location /> Order allow,deny Allow localhost Allow 192.168.0.* </Location> ...
Также убедитесь, что серверу для адресации доступен IP-адрес клиента:
/etc/cups/cupsd.conf
... Listen <hostname>:631 ...
Есть другие возможности для настройки, включая автоматические способы, которые детально описаны в Использование сетевых принтеров и cupsd.conf(5).
После внесения каких-либо изменений перезапустите службу org.cups.cupsd
.
Если CUPS запускается с помощью активации сокета, создайте drop-in сниппет для org.cups.cupsd.socket
, чтобы активация сокета работала и с удаленными подключениями:
/etc/systemd/system/org.cups.cupsd.socket.d/override.conf
[Socket] ListenStream=631
Включение обнаружения
Чтобы включить отображение (обнаружение) общего принтера, необходимо установить Avahi и запустить его на сервере.
Если вам не нужно обнаружения принтера, тогда Avahi не требуется ни на сервере, ни на клиенте.
Чтобы включить отображение, выберите Показывать общие принтеры, подключенные к этой системе в веб-интерфейсе, или вручную включите Browsing и введите BrowseAddress:
/etc/cups/cupsd.conf
... Browsing On BrowseAddress 192.168.0.*:631 ...
затем перезапустите службу org.cups.cupsd
.
Обратите внимание, что «обнаружение» на сервере — другая вещь по сравнению с «обнаружением» на удаленном сетевом хосте. На сервере печати cupsd
предоставляет поддержку протокола DNS-SD, который транслируется avahi-daemon
. Служба cups-browsed
не нужна на сервере печати за исключением, если будет транслироваться старый протокол CUPS’а, или если сервер печати также будет «обнаруживать» другие сетевые принтеры. На удаленном сетевом хосте служба cups-browsed
требуется для «обнаружения» сетевой трансляции служб печати, а также запущенная служба cups-browsed
будет автоматически запускать cupsd
.
Служба org.cups.cupsd.service
запускается автоматически при подключении USB-принтера, но это может быть не так для других типов подключений. Если cupsd
не запущен, тогда avahi-daemon
не транслирует службу печати, поэтому в этом
случае service-файл юнита systemd должен быть изменен при запуске во время загрузки, а затем служба снова должна
быть «включена/установлена» с новой зависимостью. Чтобы сделать это, отредактируйте раздел файла службы [Install]
, добавив зависимость WantedBy=default.target
, а затем включите и запустите службу org.cups.cupsd.service
.
Между GNU/Linux и Windows
Сервер Linux — клиент Windows
Общий доступ для клиентов Windows может быть достигнут, используя #Общий доступ с помощью Bonjour, #Общий доступ с помощью IPP или #Общий доступ с помощью Samba.
После настройки сервера установите драйвера для принтера на компьютере под управлением Windows. Если принтер сервера CUPS настроен на использование собственных драйверов вместо raw
(raw — когда cups просто передает на принтер полученное задание для печати без какой-либо обработки), вы можете просто выбрать общий драйвер postscript для клиента Windows (например, ‘HP Color LaserJet 8500 PS’ либо ‘Xerox DocuTech 135 PS2’, либо ‘Microsoft PS Class driver’).
Общий доступ с помощью Bonjour
Службы печати Bonjour позволяет клиентам Windows легко подключаться к серверам печати Unix с включенным обнаружением.
Общий доступ с помощью IPP
Internet Printing Protocol является широко поддерживаемым стандартом среди операционных систем, который также прост в настройке. Он имеет функцию переадресации портов, туннелирования и т.д.
Примечание: Возможно, вам придется добавить Internet Printing Client в Windows (Панель управления > Программы > Включение или отключение компонентов Windows > Службы печати и документов)
Сначала, настройте сервер как описано в разделе #Внутри систем GNU/Linux.
На компьютере с Windows, перейдите в Панель управления > Просмотр устройств и принтеров и выберите в контекстном меню ‘Добавить принтер’. Если у вас Windows 10, нажмите кнопку «Принтер, который я хочу, не указан». Далее, выберите ‘Выбрать общий принтер по имени’ и тип расположения принтера:
http://hostname:631/printers/printer_name
(Где hostname — это имя хоста или IP-адрес сервера GNU/Linux, а printer_name — это имя подключенного принтера. Вы также можете использовать полное доменное имя сервера, если оно есть, но вам может потребоваться установить ServerAlias my_fully_qualified_domain_name
в /etc/cups/cupsd.conf
, чтобы это заработало).
Примечание:
- Диалоговое окно ‘Добавить принтер’ в Windows предлагает формат
http://computername/printers/printername/.printer
, который Windows не примет. Вместо этого используйте синтаксис, предложенный выше. - Если вы используете прокси, тщательно проверяйте все использованные прокси исключения. Неправильная настройка здесь может привести к невозможности добавления принтера до следующей перезагрузки, даже если вы отключите прокси-сервер после этого (по крайней мере, в Windows 7).
Общий доступ с помощью Samba
Samba — реализация протокола обмена файлами Windows и принтерами, даже самых старых.
Обратите внимание, что общий доступ с помощью Samba обычно более сложный для настройки и сопровождения.
Для настройки Samba на сервере Linux, отредактируйте файл /etc/samba/smb.conf
, это даст возможность предоставить общий доступ к принтерам. Файл smb.conf
может содержать примерно следующее:
/etc/samba/smb.conf
[global] workgroup=Heroes server string=Arch Linux Print Server security=user [printers] comment=All Printers path=/var/spool/samba browseable=yes # разрешите это, чтобы пользователь 'гостевой учетной записи' мог пользоваться печатью. guest ok=no writable=no printable=yes create mode=0700 write list=@adm root ваше_имя_пользователя
Этого должно быть достаточно для организации совместного доступа, но все-таки рекомендуется добавить для принтера отдельную запись:
/etc/samba/smb.conf
[ML1250] comment=Samsung ML-1250 Laser Printer printer=ml1250 path=/var/spool/samba printing=cups printable=yes printer admin=@admin root ваше_имя_пользователя user client driver=yes # разрешите это, чтобы пользователь 'гостевой учетной записи' мог пользоваться печатью. guest ok=no writable=no write list=@adm root ваше_имя_пользователя valid users=@adm root ваше_имя_пользователя
Учтите, что при таких настройках, должна существовать учетная запись с правами доступа к принтеру. Для публичного принтера установите guest ok в yes, и удалите строку valid users. Для добавления учетных записей, создайте действующую учетную запись GNU/Linux, а затем установите на Samba-сервере пароль. Например:
# useradd ваше_имя_пользователя # smbpasswd -a ваше_имя_пользователя
Затем перезапустите демон Samba:
Естественно, имеется множество дополнительных настроек сервера печати Samba, поэтому, для получения дополнительной информации, следует обратиться к справочной документации Samba и CUPS. Образцы и примеры можно посмотреть в файле smb.conf.example
.
Сервер Windows — клиент Linux
Важно: Любые особые символы в URI принтера должны быть соответствующим образом процитированы, или, если в имени вашего принтера Windows или в пароле есть пробелы, тогда CUPS выдаст ошибку «lpadmin: Bad device-uri».
Например:
smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6
станет:
smb://BEN-DESKTOP/HP%20Color%20LaserJet%20CP1510%20series%20PCL6
Такая строка может быть получена в результате выполнения следующей команды:
$ python -c 'from urllib.parse import quote; print("smb://" + quote("BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6"))'
Общий доступ с помощью LPD
В Windows 7, 8 и 10 имеется интегрированный LPD-сервер, то, возможно, будет намного проще использовать именно его, поскольку не придется для клиента устанавливать Samba, а на сервере — можно будет обойтись без сложных настроек. Это можно включить в разделе Службы печати и документов, находящего в Панель управления -> Программы -> Включение или отключение компонентов Windows. В свойствах принтера должен быть включен общий доступ. Используйте общее имя без особых символов, таких как пробел, запятые и др.
Затем, принтер можно будет добавить в CUPS просто выбрав протокол LPD. Адресс принтера будет выглядеть следующим образом:
# lpd://windowspc/имя_общего_принтера
Перед добавлением вам, скорее всего, понадобиться установить для своей модели принтера соответствующий драйвер. Драйвера Generic PostScript или RAW тоже должны работать.
Общий доступ с помощью IPP
Как и в предыдущем случае, для организации общего доступа к принтерам протокол IPP является предпочтительным, но он работает только с версиями Windows Server. Версия Windows Server (например Server 2016) включаюет поддержку IPP (функции «Службы печати и документов», служба «Интернет-печати»). Клиентские версии (например, Windows 10) включают поддержку только клиента IPP и не поддерживают совместный доступ через IPP.
Общий доступ с помощью Samba
Гораздо проще использовать стандартные возможности Windows по предоставлению общего доступа к принтерам с помощью Samba. Ручная настройка практически не требуется и все можно выполнить через бэкенд CUPS. Однако, как было замечено выше, в Windows могут возникнуть проблемы с аутентификацией и ограничением доступа.
На стороне сервера необходимо разрешить общий доступ к принтеру и убедится, что клиентские машины имеют к этому принтеру доступ.
В следующем разделе будут описаны настройки клиента с обоими (cupsd и smbd) запущенными демонами.
Настройка через веб-интерфейс
Samba CUPS бэк-енд должен быть включен по умолчанию, но если этого не происходит — введите следующую команду и перезапустите CUPS.
# ln -s $(which smbspool) /usr/lib/cups/backend/smb
Затем, просто зайдите в веб-интерфейс CUPS и добавьте новый принтер. В качестве устройства выберите «Windows Printer via SAMBA».
Для местоположения устройства, выберите:
smb://имя_пользователя:пароль@имя_хоста/имя_принтера
Или, если пароля нет:
smb://имя_пользователя@имя_хоста/имя_принтера
Убедитесь, что пользователь действительно имеет доступ к принтеру на компьютере Windows, и выберите соответствующие драйверы. Если компьютер находится в домене, убедитесь, что в имени пользователя присутствует домен:
smb://имя_пользователя:пароль@домен/имя_хоста/имя_принтера
Ручная настройка
При ручной настройке: остановите демон CUPS и добавьте свой принтер в /etc/cups/printers.conf
, который, к примеру, может выглядеть так:
/etc/cups/printers.conf
<DefaultPrinter MyPrinter> AuthInfoRequired username,password Info My printer via SAMBA Location In my Office MakeModel Samsung ML-1250 - CUPS+Gutenprint v5.2.7 # <= для получения списка доступных моделей запустить 'lpinfo -m' DeviceURI smb://username:password@hostname/printer_name # <= URI сервера, выбирать согласно описания в предыдущем разделе State Idle Type 4 Accepting Yes Shared No JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 AllowUser yourusername # <= не забудьте изменить это OpPolicy default ErrorPolicy stop-printer </Printer>
Перезапустите демон CUPS и распечатайте тестовую страницу.
Поиск URI для серверов печати Windows
Иногда имя хоста Windows (усеченно) меньше предстоящего точного URI устройства (расположение устройства) (Sometimes Windows is a little less than forthcoming about exact device URIs (device locations)). Если возникли проблемы с указанием правильного расположения устройства в CUPS, выполните следующую команду, чтобы вывести список всех общих ресурсов, доступных для определенного имени пользователя windows:
$ smbtree -U имя_пользователя_windows
В этом списке будет отображаться только общие URI для определенного имени пользователя Windows в локальной подсети локальной сети, если Samba настроен и работает правильно. Команда должна вернуть что-то вроде этого:
WORKGROUP \REGULATOR-PC \REGULATOR-PCZ \REGULATOR-PCPublic \REGULATOR-PCprint$ Printer Drivers \REGULATOR-PCG \REGULATOR-PCEPSON Stylus CX8400 Series EPSON Stylus CX8400 Series
Здесь требуется первая часть последней строки — ресурс, соответствующий описанию принтера. Поэтому для печати на принтер EPSON Stylus введите:
smb://имя_пользователя:пароль@REGULATOR-PC/EPSON%20Stylus%20CX8400%20Series
как URI в CUPS.
Удаленное управление
Однажды сервер настроенный, как описано в #Внутри систем GNU/Linux, может также быть настроенным так, чтобы им можно было управлять удаленно. Добавьте разрешенные хосты в блок <Location /admin>
в /etc/cups/cupsd.conf
, используя тот же синтаксис, что и в #Ручная настройка. Обратите внимание, что доступны три уровня доступа:
<Location /> #доступ к серверу <Location /admin> #доступ к страницам администратора <Location /admin/conf> #доступ к файлам конфигурации
Чтобы дать удаленным хостам доступ к одному из этих уровней, добавьте оператор Allow
в этот уровень. Оператор Allow
может принимать одну или несколько форм, перечисленных ниже:
Allow from all Allow from host.domain.com Allow from *.domain.com Allow from ip-address Allow from ip-address/netmask Allow from @LOCAL
Отрицательный оператор также может быть использован. Например, чтобы предоставить полный доступ ко всем хостам на локальных сетевых интерфейсах, отредактируйте /etc/cups/cupsd.conf
:
# Ограничить доступ к серверу... # По умолчанию возможны только локальные подключения <Location /> Order allow,deny Allow from @LOCAL </Location> # Ограничить доступ к страницам администратора... <Location /admin> Order allow,deny Allow from @LOCAL </Location> # Ограничить доступ к файлам конфигурации... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny Allow from @LOCAL </Location>
The factual accuracy of this article or section is disputed.
Вам также может потребоваться добавить:
DefaultEncryption Never
Это должно помочь избежать ошибки: 426 — Upgrade Required when using the CUPS web interface from a remote machine.
Kerberos
Kerberos может использоваться для аутентификации пользователей, обращающихся к удаленному серверу CUPS. Это предполагает, что на вашем компьютере есть keytab, и ему понадобится билет для «HTTP». Вместо этого http://localhost:631
вы должны использовать https://host.example.co.uk:631
т.к. требуется шифрование для auth (следовательно, https), и требуется полное имя хоста, чтобы Kerberos/Negotiate могли работать. Кроме того, сервер должен быть настроен в /etc/cups/cupsd.conf
, чтобы использовать DefaultAuthType
Negotiate
.
Если вы используете поддержку NSS в Samba winbind, вы можете добавить имя группы AD в /etc/cups/cups-files.conf
— в следующем примере sysadmin
может быть группой AD:
SystemGroup sys root sysadmin
Решение проблем
Общие советы по устранению неполадок смотрите в CUPS/Решение проблем.
Не удается отправить на печать из приложений GTK
Если ты получил сообщение getting printer information failed (ошибка получения информации о принтере), когда пытался отправить на печать из приложения GTK, тогда добавь эту строку в свой /etc/hosts
:
# serverip some.name.org ServersHostname
Ошибки разрешений в Windows
Некоторые пользователи исправили ошибки ‘NT_STATUS_ACCESS_DENIED’ (Windows клиенты), используя несколько иной синтаксис:
smb://рабочая_группа/имя_пользователя:пароль@имя_хоста/имя_принтера
Другие операционные системы
Более подробную информацию о взаимодействии CUPS с другими системами печати можно найти в руководстве CUPS, например, на http://localhost:631/help/network.html
Содержание
- Подключение принтера к Astra Linux
- Добавление принтера через графический инструмент fly-admin-printer
- Добавление принтера через web-интерфейс службы печати CUPS
- Автоматическое добавление сетевых принтеров через cups-browsed
- Настройка сервера печати: предоставление общего доступа к принтерам
- Подключение принтеров Hewlett Packard (инструмент hp-setup)
- Подключение к принтерам на сервере CUPS
- Подключение сетевого принтера Linux-Linux
- Xander
Подключение принтера к Astra Linux
Первым шагом в настройке как сервера печати, так и клиента печати Astra Linux является регистрация принтера в системе управления печатью CUPS. При этом к серверам печати обычно непосредственно подключаются реальные физические принтеры, к клиентам — обычно подключение удаленных разделяемых принтеров, доступных через сервер(ы) печати, однако процедура подключения принтеров одинакова и для сервера и для клиента, а клиент всегда может быть превращен в сервер и наоборот.
Добавление принтера через графический инструмент fly-admin-printer
- Запустить менеджер печати fly-admin-printer («Пуск» — «Панель управления» — «Оборудование» — Принтеры»);
Обнаружить доступные принтеры, для чего выбрать в меню:
«Принтер» — «Добавить» — «Далее»
После этого будет осуществлен автоматический поиск доступных принтеров;
После завершения поиска выбрать нужный принтер из списка;
Для принтеров, предназначенных для совместного использования, на сервере включить checkbox «Разрешить общий доступ»:
Подключение принтеров к Astra Linux > Screenshot_20190923_105002.png» data-location=»Справочный центр > Подключение принтеров к Astra Linux > Screenshot_20190923_105002.png» data-image-height=»955″ data-image-width=»1920″>
- Политика операций «default»;
- Нулевые минимальные и максимальные уровни заданий.
Добавление принтера через web-интерфейс службы печати CUPS
- С помощью WEB-браузера
- Открыть страницу по адресу http://localhost:631/admin;
- Перейти во вкладку «Администрирование»;
- Нажать кнопку «Добавить принтер»;
- Если принтер найден автоматически:
- В ыбрать нужный принтер из списка «Найденные сетевые принтеры»;
- Нажать кнопку «Продолжить»;
- Если принтер не найден:
- Выбрать протокол в списке «Другие сетевые принтеры»;
- Нажать кнопку «Продолжить»;
- Задать адрес принтера;
- Нажать кнопку «Продолжить»;
- Задать параметры принтера (в т.ч. «Разрешить совместный доступ к этому принтеру» при необходимости использовать его в качестве разделяемого на сервере печати);
- Нажать кнопку «Продолжить»;
- Выбрать производителя и тип принтера;
- Нажать кнопку «Добавить принтер»;
Автоматическое добавление сетевых принтеров через cups-browsed
Для автоматизации подключения разделяемых/сетевых принтеров, в том числе принтеров, не поддерживающих современный протокол объявления DNS-SD/Bonjour (например, принтеры, предоставляемые серверами печати LDAP или принтеры, предоставляемые серверами печати с устаревшими версиями CUPS), можно использовать пакет cups-browsed. Согласно документации:
cups-browsed имеет четыре независимо используемых функции:
1. Отслеживание широковещательных сообщений от принтеров, использующих протокол Bonjour, и создание/удаление локальных очередей печати к этим принтерам.
2. Отслеживание широковещательных сообщений от серверов CUPS о доступных принтерах, и создание/удаление локальных очередей печати к этим принтерам.
3. Отслеживание принтеров, предоставляемых принт-серверами LDAP, и создание/удаление локальных очередей печати к этим принтерам.
4. Широковещательная рассылка локальных очередей по протоколу CUPS.
Функции п 2. и п 4. позволяют работать с устаревшими удалёнными серверами CUPS (версии 1.5.x и старше). Стандартным методом рассылки сообщений о разделяемых/сетевых принтерах в настоящее время является использование протокола Bonjour. Использование CUPS считается устаревшим.
Для установки пакета cups-browsed:
- в Astra Linux Special Edition x.7 требуется подключение базового репозитория (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
- в Astra Linux Special Edition 1.6 требуется подключение репозитория со средствами разработки.
После подключения репозиториев пакет может быть установлен командами:
sudo apt update
sudo apt install cups-browsed
Если на компьютере используется сетевой брандмауэр, то необходимо открыть порт для сетевой службы IPP (протокол UDP, порт 631), например:
sudo firewall-cmd —add-service=ipp
sudo firewall-cmd —add-service=ipp —permanent
После установки пакета соответствующая служба запускается автоматически, и, при условии, что найдены подходящие для принтера драйверы, автоматически устанавливает все обнаруженные принтеры.
Настройка сервера печати: предоставление общего доступа к принтерам
На сервере печати необходимо:
- отдельно разрешить общий доступ к каждому принтеру (в свойствах принтера);
- разрешить общий доступ к серверу CUPS и, через него, к разделяемым принтерам, для чего:
либо выполнить на сервере печати команды (команды должны выполняться от имени суперпользователя, или пользователя имеющего право администрировать службу печати). Для sudo можно использовать форму команды cupsctl, для пользователя /usr/sbin/cupsctl:
Разрешить общий доступ к принтерам:
/usr/sbin/cupsctl —remote-admin —share-printers —remote-any
Установить параметры общего доступа:
/usr/sbin/cupsctl ServerAlias=* DefaultPolicy=authenticated DefaultAuthType=Basic
Перезапустить службу печати, выполнив команду:
sudo systemctl restart cups
либо с помощью WEB-браузера
- Открыть на сервере печати страницу по адресу http://localhost:631/admin
- Перейти на вкладку «Администрирование»
- В списке «Дополнительные параметры» отметить пункт «Разрешить совместный доступ к принтерам, подключенным к этой системе»
В файл конфигурации клиента /etc/cups/client.conf внести имя сервера печати, например:
Важно: для редакций Astra Linux SE убедиться, что опция MacEnable в файле /etc/cups/cupsd.conf установлена в значение «on»:
sudo grep -i MacEnable /etc/cups/cupsd.conf
Подключение принтеров Hewlett Packard (инструмент hp-setup)
Для подключения принтеров HP следует использовать инструмент hp-setup. Этот инструмент входит в состав пакета hplip и устанавливается автоматически при стандартной установке ОС Astra Linux. Инструмент доступен через графическое меню
«Пуск» — «Панель управления» — «Оборудование» — «Установка принтеров, факсов и сканеров HP»
или из командной строки. При этом из командной строки инструмент может быть запущен в графическом режиме:
или в текстовом интерактивном режиме:
Для подключения принтера HP следует запустить инструмент hp-setup. После запуска инструмента в открывшейся форме «Обнаружение устройств» выбрать вариант подключения принтера, и нажать кнопку «Далее» .
Инструмент осуществит поиск подключенных принтеров и выведет форму «Выбор из обнаруженных устройств» со списком обнаруженных устройств:
Подключение принтеров к Astra Linux > hp-setup-2.jpeg» data-location=»Справочный центр > Подключение принтеров к Astra Linux > hp-setup-2.jpeg» data-image-height=»559″ data-image-width=»710″>
Для установки устройства выбрать его в списке, и нажать кнопку «Далее», после чего в форме «Настройка устройства» внести дополнительную информацию об устройстве (не обязательно), и, при желании напечатать тестовую страницу, отметить соответствующий check-box. После заполнения формы нажать кнопку «Завершить»:
Подключение принтеров к Astra Linux > hp-setup-3.jpeg» data-location=»Справочный центр > Подключение принтеров к Astra Linux > hp-setup-3.jpeg» data-image-height=»561″ data-image-width=»710″>
После выполнения вышеуказанных действия принтер должен подключиться к системе и стать доступным для использования.
Подключение принтеров к Astra Linux > hp-setup-1.jpeg» data-location=»Справочный центр > Подключение принтеров к Astra Linux > hp-setup-1.jpeg» data-image-height=»559″ data-image-width=»710″>
Подключение к принтерам на сервере CUPS
Добавление принтера производится через графический инструмент fly-admin-printer, или через web-интерфейс (все действия должны выполняться пользователем с правами администратора печати).
Добавление через графический инструмент fly-admin-printer производится следующим образом:
«Очереди» → Правая кнопка мыши → «Добавить» → «Принтер» → «Другой» → «Протокол печати ipp» → «Сканировать» → «Узел» → 192.168.1.7 → «Сканировать».
Далее в списке «Обнаруженные устройства» должен появиться адрес сервера, например «192.168.1.7:631». После его выбора нажать кнопку «Да», после чего появится диалог выбора очереди печати IPP:
Подключение принтеров к Astra Linux > Screenshot_20190923_113358.png» data-location=»Справочный центр > Подключение принтеров к Astra Linux > Screenshot_20190923_113358.png» data-image-height=»955″ data-image-width=»1920″>
В диалоге выбрать нужный принтер и нажать «Да», затем нажать «Далее» и ввести информацию о принтере. Драйвер принтера должен быть указан такой же, как и на сервере. После завершения настройки принтер готов к работе. Для редакций SE дистрибутива также надо выставить политику операций и желаемую минимальную/максимальную метку заданий. Следует также учесть, что метки безопасности принтера и политика операций распространяются только на подключения к серверу печати клиента.
Источник
Подключение сетевого принтера Linux-Linux
New member
New member
А здесь вы пытаетесь использовать старый протокол LPD, предназначавшийся, в основном, для консольного использования. (CUPS и LPD не совместимые меж собой).
В Linux есть несколько протоколов печати (несколько своих + возможность нескольких чужих для совместимости). тут вам не вынЬда
И используемый локально принтер (расшариваемый) и подключение сетевого принтера в сети должно происходить в одном протоколе.
Xander
New member
Здесь вы используете принтер в новой Linux системе печати CUPS (Common UNIX Printing System).
А здесь вы пытаетесь использовать старый протокол LPD, предназначавшийся, в основном, для консольного использования. (CUPS и LPD не совместимые меж собой).
В Linux есть несколько протоколов печати (несколько своих + возможность нескольких чужих для совместимости). тут вам не вынЬда
И используемый локально принтер (расшариваемый) и подключение сетевого принтера в сети должно происходить в одном протоколе.
New member
Здесь вы используете принтер в новой Linux системе печати CUPS (Common UNIX Printing System).
А здесь вы пытаетесь использовать старый протокол LPD, предназначавшийся, в основном, для консольного использования. (CUPS и LPD не совместимые меж собой).
В Linux есть несколько протоколов печати (несколько своих + возможность нескольких чужих для совместимости). тут вам не вынЬда
И используемый локально принтер (расшариваемый) и подключение сетевого принтера в сети должно происходить в одном протоколе.
Источник
Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС
Вступление
Итак. Предположительно, сервис печати CUPS — это мощное решение, позволяющее организовать централизованное управление принтерами в компании. Так оно и есть, но в процессе настройки потребуется провести некоторое время в поисках решения в Google множества мелких неочевидных проблем, особенно, если ваша необходимость выходит за рамки стандартных мануалов по настройке.
В статье будет описана установка принтсервера CUPS на Ubuntu Server в сети с работающим доменом Active Directory, хотя его наличие совершенно не обязательно и инструкции по настройке взаимодействию с ним можно будет смело пропустить, его настройка, а также настройка клиентских машин Linux и Windows для взаимодействия с данным принт-сервером.
В инструкции домен будет именоваться example.com, сам принтсервер — cupsserver (cupsserver.example.com) с IP адресом 10.10.100.50, а клиентские машины linux1, linux2, linux3 и т.д для клиентских машин Linux и windows1, windows2, windows3 и т.д. для клиентских машин Windows соответственно.
Настройка принтсервера
В первую очередь мы настроим принтсервер, а точнее, настроим административный доступ на него, затем настроим печать на него, а затем опишем настройку клиентских машин.
Заходим на принтсервер любым удобным способом и обновим на нем пакеты:
root@cupsserver:~# apt update && apt upgrade -y
Далее проверим, установлен ли CUPS на сервере:
root@cupsserver:~# which cupsd
Если вывод выглядит как то так:
/usr/bin/cupsd
то CUPS установлен, если вывода нет — устанавливаем CUPS:
root@cupsserver:~# apt install cups -y
Теперь настроим административный доступ к веб-интерфейсу CUPS. Все файлы конфигурации находятся по пути /etc/cups/. Для начала, на всякий случай сделаем резервные копии основных файлов конфигурации CUPS:
root@cupsserver:~# cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
root@cupsserver:~# cp /etc/cups/cups-files.conf /etc/cups/cups-files.conf.original
root@cupsserver:~# cp /etc/cups/cups-browsed.conf /etc/cups/cups-browsed.conf.original
Впрочем, если вы этого не сделали — не беда, образцы данных файлов по умолчанию лежат по пути /usr/share/cups. Также нужно упомянуть, что вы можете проверить любые добавленные опции в файлы конфигурации CUPS с помощью команды:
root@cupsserver:~# cupsd -t
Если вы что-то напутали, опечатались или использовали опцию, которая уже не поддерживается CUPS’ом, то вывод команды отразит данные ошибки.
Но приступим наконец к настройке. После любых изменений файлов в папке /etc/cups/ для получения эффекта необходимо перезапускать сервис CUPS:
root@cupsserver:~# service cups restart
или
root@cupsserver:~# systemctl restart cups
или
root@cupsserver:~# /etc/init.d/cups restart
А если вы отредактировали файл /etc/cups/cups-browsed.conf, то за него отвечает отдельный сервис cups-browsed, который тоже нужно перезапустить:
root@cupsserver:~# service cups-browsed restart
или
root@cupsserver:~# systemctl restart cups-browsed
или
root@cupsserver:~# /etc/init.d/cups-browsed restart
Выполним команду
root@cupsserver:~# nano /etc/cups/cupsd.conf
Первой незакомментированной опцией является
LogLevel warn
Она определяет минимальную информативность логов CUPS. Лог-файлы CUPS находятся по пути /var/log/cups/. На время установки, настройки и отладки принтсервера будет разумным перевести логгирование в debug-режим. Для этого изменим warn на debug2:
LogLevel debug2
По умолчанию CUPS слушает входящие подключения только от localhost, то бишь на loopback интерфейсе. Чтобы убедится в этом, можете выполнить команду
root@cupsserver:~# netstat -plutn
Одна из строк будет выглядеть приблизительно так:
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 737/cupsd
Дальнейшие действия зависят от степени вашей паранойи. Вы можете добавить в блоке, который условно начинается с комментария #Only listen for connections from the local machine несколько строк с указанием IP адресов или подсетей, откуда CUPS’у будет позволено слушать подключения.
# Only listen for connections from the local machine.
Listen localhost:631
Listen /run/cups/cups.sock
#Слушать подключения с определенного IP адреса
Listen 10.10.100.67:631
#Слушать подключения с подсети бухгалтерии
Listen 172.16.0.0:631
Либо же вы можете разрешить CUPS’у слушать подключения со всех адресов
# Only listen for connections from the local machine.
Listen /run/cups/cups.sock
Port 631
Следующий момент настройки — это обнаружение сетевых и расшаренных принтеров.
# Show shared printers on the local network.
Browsing Off
BrowseLocalProtocols dnssd
На мой взгляд эта опция так и должна остаться выключенной, так как она определяет, будет ли рассылаться широковещательная информация по сети о подключенных к принтсерверу принтерах. А они ведь будут подключены к ней все. И соответственно у всех клиентских машин будут отображаться сразу все принтера. Наш принтсервер должен искать и обнаруживать все принтера в сети, но не рассылать их бездумно по всей сети.
Далее идут настройки аутентификации:
# Default authentication type, when authentication is required...
DefaultAuthType Basic
Определяет права доступа к веб-интерфейсу CUPS, а также к его административной части. Чтобы пользователь user имел право на администрирование CUPS, его нужно добавить в системную группу lpadmin:
root@cupsserver:~# usermod -a -G lpadmin user
Вообще, группы, которым позволен административный доступ к CUPS, определяются в файле конфигурации cups-files.conf в блоке
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
# This cannot contain the Group value for security reasons...
SystemGroup lpadmin
Если вы хотите добавить некой группе пользователей Linux права на администрирование принтсервера, например printadmins, то просто добавьте их через пробел к lpadmin. Если группа доменная, то это немного сложнее и будет описано позже.
Теперь перейдем к блоку <Location />:
# Restrict access to the server...
<Location />
Order allow,deny
</Location>
Order allow,deny означает, что запрещены подключения отовсюду, если специально не указано разрешение. То есть нужно добавлять IP-адреса, подсети, хосты или хосты по маске (.example.com) в виде «Allow from [разрешенный адрес]*»:
# Restrict access to the server...
<Location />
Order allow,deny
Allow from cupsserver # разрешение подключатся к самому себе по имени хоста
Allow from cupsserver.example.com # разрешение подключатся к самому себе по FQDN
Allow from localhost # разрешение подключатся к самому себе через loopback интерфейс
Allow from 10.10.100.* # Если хотите разрешить
Allow from linux4.example.com # доступ на печать с
Allow from 172.168.5.125 # определенных подсетей, IP или хостов
</Location>
Для полной уверености и отладки, можно оставить, пока не настроите все остальное, такую констукцию, которая позволит печать отовсюду:
# Restrict access to the server...
<Location />
Order allow,deny
Allow from all
</Location>
Приступим к настройке административного доступа к CUPS на принтсервере. Определитесь, с какого/каких IP и/или подсетей вы собираетесь подключаться к CUPS, и добавить их по аналогии с блоком <Location />:
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow from localhost
Allow from 10.10.100.*
Allow from admin.example.com
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
Order allow,deny
Allow from localhost
Allow from 10.10.100.*
Allow from admin.example.com
</Location>
# Restrict access to log files...
<Location /admin/log>
Order allow,deny
Allow from localhost
Allow from 10.10.100.*
Allow from admin.example.com
</Location>
Еще, по желанию, можно добавить язык интерфейса по умолчанию. Список доступных языков можно посмотреть с помощью команды:
root@cupsserver:~# ls /usr/share/cups/locale
Если нужная вам локализация, например ru, есть, то добавьте строчку в /etc/cups/cupsd.conf:
DefaultLanguage ru
Чтобы к вашему принтсерверу cupsserver.example.com можно было обращатся по его хосту (hostname), необходимо создать в папке /etc/cups/ файл client.conf с таким содержимым:
ServerName имя_хоста
Самым простым способом это можно сделать так:
root@cupsserver:/etc/cups# echo "ServerName $(cat /etc/hostname)" > /etc/cups/client.conf
Поскольку мы предполагаем, что в сети есть DNS сервер, то будет предпочтительным, чтобы можно было обращатся к принтсерверу по его доменному имени (cupsserver.example.com). Также серверу может быть присвоен CNAME псевдоним на DNS сервере, например print или cups. Чтобы принтсервер принимал подключения по таким обращениям, необходимо добавить такую строчку в файл /etc/cups/cupsd.conf:
ServerAlias cupsserver.example.com print cups
Если вы хотите, чтобы принтсервер примимал любые обращения, или не хотите заморачиваться, то можно добавить это:
ServerAlias *
Еще нужно взглянуть внутрь файла /etc/cups/cups-browsed.conf. Этот файл управляет тем, как принтсервер будет искать принтеры в сети и проводить широковещательную рассылку своих принтеров. Я предлагаю совершенно отключить опцию рассылки. Принтсервер будет искать принтера в сети, но с него принтеры на клиентские машины будут подключатся вручную. Ниже будет описано, почему. Пока же мы находим строку BrowseRemoteProtocols dnssd cups:
# Which protocols will we use to discover printers on the network?
# Can use DNSSD and/or CUPS and/or LDAP, or 'none' for neither.
BrowseRemoteProtocols dnssd cups
Благодаря этой опции принтсервер ищет расшаренные принтера в сети. Ее мы оставляем включенной, так как в наших интересах, чтобы принтсервер искал принтера в сети. Но нам совершенно не нужно, чтобы принтсервер рассылал вообще все подключенные к нему принтеры, иначе возникнет большая путаница. Для предотвращения такого сценария находим следующую опцию #BrowseLocalProtocols none и раскомментируем ее:
# Which protocols will we use to broadcast shared local printers to the network?
# Can use DNSSD and/or CUPS, or 'none' for neither.
# Only CUPS is actually supported, as DNSSD is done by CUPS itself (we ignore DNSSD in this directive).
BrowseLocalProtocols none
На этом настройку принтсервера приостанавливаем и переходим к настройке клиентких машин Windows и Linux. Требования к ним такие — позволять посылать на себя задания печати принтсерверу, и посылать задания на печать именно (и только) на принтсервер в случае необходимости печати на сетевой принтер.
В качестве примера настроим печать сквозь принтсервер между двумя клиентскими машинами с Linux (имя хоста linux1) и Windows 8 соотвественно (имя хоста windows1). Начнем с настройки windows1 в качестве приемника печати от принтсервера. У меня к нему подключен и штатно работает принтер Canon i-SENSYS MF4410. Имя принтера — Canon-MF4400. Самый простой способ, на самом деле, обеспечить печать с принтсервера на windows1 — перейти в Панель управления > Программы > Программы и компоненты > Включение или отключение компонентов Windows. Там мы включаем компонент Службы печати и документов > Служба печати LPD. Это позволит подключить данный принтер к принтсерверу с помощью адреса lpd://windows1/Canon-MF4400. Разумеется, назревает вопрос, почему бы не подключить с помощью SMB? Никто не запрещает. Если у вас отлажен данный метод, вы можете расшарить принтер таким образом, и подключить к принтсерверу по протоколу SMB. Инстукции по данному подключению, на мой взгляд, выходят за рамки данной статьи, которая и так выходит довольно объемной. Пока же считаем, что читатель успешно зашел по адресу http://cupsserver:631/admin
нажал на кнопку «Добавить новый принтер» и следуя интуиции, логике и прочитатанным ранее мануалам успешно подключил принтер с windows1 по протоколу LPD к принтсерверу cupsserver[example.com] и страница принтера доступна по адресу http://cupsserver:631/printers/Canon-MF4400
.
Теперь выполним аналогичную операцию на клиентской машине Linux c именем хоста linux1. Вообще, данная часть будет куда объемнее, так как у клиентской машины есть свой сервис CUPS и его тоже нужно настроить во многом так же, как и принтсервер, за исключением его подчиненной роли в организации печати.
Исправление ошибки обращения к CUPS через loopback по имени хоста
Есть неприятный момент. Если вы введете linux1 в домен, настроите на нем CUPS по этим инструкциям, то можете заметить абсурдную ситуацию, когда на WEB-интерфейс linux1 можно зайти снаружи, но на самом хосте этого сделать нельзя! И графические приложения для локальной настройки принтеров, вроде приложения system-config-printer в Linux Mint, отказываются работать. При попытке подключения на свой же CUPS по по адресу http://linux1:631/
будет сообщение «Запрещено» или «Bad Request». Это известная и толком не решенная на множестве форумов интернета проблема.
В большинстве инструкций по введению Linux в домен одним из пунктов является приведение файла /etc/hosts приблизительно к такому виду:
127.0.0.1 localhost
127.0.1.1 linux1.example.com linux1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe02::2 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Почему то CUPS не в силах ассоциировать обращение через 127.0.1.1, то есть через Loopback интерфейс, с именем хоста.
Исправляется эта ошибка двумя способами. Если в вашей сети IP адреса статичные, то в файле /etc/hosts исправьте 127.0.1.1 на IP адрес внешнего сетевого интерфейса клиентской машины, например:
127.0.0.1 localhost
192.168.1.50 linux1.example.com linux1
Либо же, раз уж вы вводите Linux в домен, то это предполагает, что в вашей сети работает DHCP и DNS сервер Active Directory. В таком случае просто закомментируйте данную строчку:
127.0.0.1 localhost
# 127.0.1.1 linux1.example.com linux1
Разницы в работоспособности или проблем от данного действия пока обнаружено не было.
Настройка адресов прослушивания подключений к CUPS у клиентских машин Linux
Заходим на linux1 любым удобным способом. Редактируем файл /etc/cups/cupsd.conf:
user@linux1:~$ sudo nano /etc/cups/cupsd.conf
Находим, добавляем или изменяем в нем строки:
DefaultLanguage ru # Если язык присутствует в папке /usr/share/cups/locale
ServerAlias linux1.example.com linux1 [CNAME псевдоним присвоенный на DNS сервере]
или
ServerAlias * # Если неохота вникать в особенности
Listen /run/cups/cups.sock
Listen localhost:631 # Слушать localhost
Listen 10.10.100.50:631 # IP адрес нашего принтсервера.
Listen cupsserver:631 # Доменное имя принтсервера. Рекомендую чтобы его IP тоже был, на всякий случай
Listen linux1:631 #
или
Port 631 # Будет слушать подключения со всех адресов
Listen /run/cups/cups.sock
Browsing off # Выключено. Машина будет посылать информацию только принтсерверу
DefaultAuthType Basic # Без изменений. Есть вариант с авторизацией Kerberos, но там много подводных камней
Настройка адресов прослушивания подключений к CUPS
В предыдущем блоке мы настроили возможность подключения к CUPS. Теперь перейдем к настройке разрешений на доступ к печати, а также к административным страницам сервиса CUPS на хосте linux1. Вновь открываем, если закрыли, файл /etc/cups/cupsd.conf и переходим к редактированию блоков <Location />, <Location /admin>, <Location /admin/conf>, <Location /admin/log>:
# Restrict access to the server...
<Location />
Order allow,deny # Определяет политику доступа "Что не разрешено, то запрещено"
Allow from localhost # Позволяет печатать самой linux1
Allow from linux1 # Печать на свое имя хоста. Проблемы этого действия описаны выше
Allow from cupsserver # Если CUPS нормально взаимодействует с DNS, то сработает. Увы, не всегда это так
Allow from cupsserver.example.com # FQDN принтсервера
Allow from 10.10.100.50 # Разрешение на печать с IP принтсервера **cupsserver**
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny # Аналогично предыдущему
Allow from localhost # Необходимо для возможности добавлять принтеры
Allow from linux1 # Аналогично предыдущему
Allow from 10.10.101.71 # Предположим, это IP админа
Allow from 10.20.50.* # Предположим, это подсеть вашего IT отдела
AuthType Default # То есть CUPS спросит логин и пароль. Подробнее ниже
Require user @SYSTEM # Определение группы доступа к CUPS
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
#Блок идентичен предыдущему
Order allow,deny # Аналогично предыдущему
Allow from localhost # Необходимо для возможности добавлять принтеры
Allow from linux1 # Аналогично предыдущему
Allow from 10.10.101.71 # Предположим, это IP админа
Allow from 10.20.50.* # Предположим, это подсеть вашего IT отдела
AuthType Default # То есть CUPS спросит логин и пароль. Подробнее ниже
Require user @SYSTEM # Определение группы доступа к CUPS
</Location>
# Restrict access to log files...
<Location /admin/log>
#Блок идентичен предыдущему
Order allow,deny # Аналогично предыдущему
Allow from localhost # Необходимо для возможности добавлять принтеры
Allow from linux1 # Аналогично предыдущему
Allow from 10.10.101.71 # Предположим, это IP админа
Allow from 10.20.50.* # Предположим, это подсеть вашего IT отдела
AuthType Default # То есть CUPS спросит логин и пароль. Подробнее ниже
Require user @SYSTEM # Определение группы доступа к CUPS
</Location>
Настройка раздачи и получения широковещательной рассылки сетевых принтеров
Еще у клиетской машины Linux, в данном случае linux1, необходимо отредактировать файл /etc/cups/cups-browsed.conf:
user@linux1:~$ sudo nano /etc/cups/cups-browsed.conf
BrowseRemoteProtocols none # Пишем none чтобы не получить кучу принтеров автоматически.
BrowseLocalProtocols cups # Показывать подключеные принтеры в сеть. DNSSD указывать не надо, его директива в cupsd.conf
BrowseOrder Allow,Deny # Аналогично директиве Order в cupsd.conf - необходимо явно указать, куда МОЖНО посылать информацию о подключенных принтерах
BrowseAllow 10.10.100.50 # IP принтсервера
BrowseAllow cupsserver # Имя хоста принтсервера
BrowseAllow cupsserver.example.com # Полное доменное имя принтсервера
Настройка административного доступа
Еще пару слов по поводу административного доступа, как на WEB-интерфейс CUPS на принтсервере, так и на любой клиентской машине Linux. Даже при условии наличия 30-50 компьютеров нужно унифицировать авторизацию на CUPS, а не держать в голове или еще где пароли каждой машины. И это важно на всех Linux машинах, ведь чтобы добавить принтер на сервер, его сперва нужно установить локально. Я вижу несколько путей.
Первый — на каждой системе Linux создать пользователя printeradmin (например) и добавить в группу lpadmin:
user@linux1:~$ sudo usermod -a -G lpamin printeradmin
и авторизовываться на http://имя_хоста:631/admin
c помощью его учетных данных.
Второй вариант практически идентичен и предлагает создать группу в системе, например, printersadmins, добавить туда требуемого администратора CUPS (printeradmin, user):
user@linux1:~$ sudo groupadd printersadmins
user@linux1:~$ sudo usermod -a -G printersadmins printeradmin
user@linux1:~$ sudo usermod -a -G printersadmins user
Затем нужно найти в файле /etc/cups/cups-files.conf строку
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
# This cannot contain the Group value for security reasons...
SystemGroup lpadmin
и добавить через пробел одну или несколько групп пользователей с правом администрировать CUPS.
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
# This cannot contain the Group value for security reasons...
SystemGroup lpadmin printersadmins somegroup
И наконец, третий вариант. Сделать администраторами принтсервера и CUPS’ов клиентских машин доменную группу пользователей. Для этого принтсервер и клиентские машины Linux должны быть присоединены к домену AD. Есть несколько методов подключения Linux к домену Windows, но, насколько я знаю, основные это подключение с помощью winbind и с помощью SSSD(realmd). Описание данных методов не входит в статью, поэтому остановлюсь только на моментах которые касаются конкретно CUPS’а.
Настройка использования доменных групп пользователей для администрирования CUPS
Каждый метод присоединения к системе централизованной авторизации в Linux создает специальный файл-«трубу» (pipe), сквозь который приложения могут посмотреть список пользователей домена. Чтобы так мог сделать CUPS, нужно разрешить ему использовать pipe в AppArmor’е для аутентификации пользователей. AppArmor — модуль безопасности Linux по управлению доступом. Ограничивает определенные программы набором перечисленных в его политиках файлов. Чтобы добавить CUPS’у право использовать пользователей и группы домена через winbindd, нужно добавить в файл /etc/apparmod.d/local/usr.sbin.cupsd такую строку:
/var/lib/samba/winbindd_privileged/pipe rw
Если Linux введен в домен через SSSD, то необходимо указать расположение его pipe в /etc/apparmod.d/local/usr.sbin.cupsd, добавив туда строку:
/var/lib/sss/pipes/private/pam rw
К тому же, в случае с SSSD это позволяет пройти аутентификацию (узнать кто заходит), но чтобы пройти авторизацию (узнать есть ли право у пользователя управлять CUPS) необходимо также добавить в файл конфигурации SSSD /etc/sssd/sssd.conf строку:
ad_gpo_map_interactive = +cups
Это, условно выражаюсь, дает CUPS’у право «заглядывать» в SSSD.
К тому же, в силу того, что CUPS теперь зависит от сервиса SSSD, нужно указать CUPS’у что он должен запускаться после SSSD, иначе он будет отваливаться при включении и его будет необходимо каждый раз включать вручную.
Добавим CUPS’у указание грузиться после SSSD. Отредактируем файл сервиса cups.service по пути /lib/systemd/system/, добавив инструкцию After в секцию [Unit]:
[Unit]
Description=CUPS Scheduler
Documentation=man:cupsd(8)
After=sssd.service
Таким образом CUPS настроен на Basic авторизацию через домен, то есть авторизацию с помощью ввода логина и пароля доменного пользователя с правом администрирования CUPS.
Авторизация может быть настроена и иначе, но принцип (pipe-файл) в целом универсален и есть шанс настроить и для LDAP, FreeIPA и прочих служб каталогов по аналогии.
Установка принтера в Linux
Установить принтер на Linux это часто специфическая задача, разная для разных марок и даже моделей. Поэтому не вижу смысла описывать установку принтера и примем за факт, что на хосте linux1 установлен принтер Kyocera-1024FP с именем Kyocera-1024FP, и страница принтера доступна по ссылке http://linux1:631/printers/Kyocera-1024FP
.
Теперь, когда сервер и клиенские машины Linux настроены, к некоторым из них присоединены принтеры, а также есть машины на Windows, которым и с которых нужно печатать, и вся эта система должна быть стабильной и в случае, если на одном из ПК необходимо заменить принтер, то это не должно повлечь за собой перенастройку доброй половины всех ПК, если не всех. К тому же нужно как можно меньше проблем с драйверами. И это вполне возможно.
Группы принтеров (Classes)
Выше мы описывали подключение Canon-MF4400 c хоста windows1 через протокол LPD. Принтер все еще подключен и его статус можно посмотреть на странице http://cupsserver:631/printers/Canon-MF4400
. А теперь обратим пристальное внимание на главную страницу администрирования cupsserver http://cupsserver:631/admin
. На этой странице есть кнопка «Добавить группу» [Add Class]. Нажмем на нее. В ней вы увидите поля «Название», «Описание», «Расположение», аналогичные таким же при настройке обычного принтера. В нижнем же блоке вы увидите список всех подключенных к принтсерверу принтеров. Выберите Canon-MF4400 или любой который хотите, затем в поле «Название» впишите, например printer-windows1, «Описание» и «Расположение» на ваше усмотрение, и нажмите «Добавить группу».
Теперь у нас есть группа printer-windows1 с принтером Canon-MF4400 в ней. Страница этой группы доступна так же как и страница принтера Canon-MF4400 с оговоркой на немного другой путь — http://cupsserver:631/classes/printer-windows1
.
Еще у нас все еще есть подключенный к linux1 принтер Kyocera-1024FP. Подключим его к принтсерверу по HTTP. Выбираем метод подключения «Протокол интернет печати (http)» [Internet Printing Protocol (http)], из списка драйверов выбираем марку «Generic», модель «IPP Everywhere». Называем его как угодно, мы назовем так же как на хосте linux1 — Kyocera-1024FP. Теперь принтер доступен на принтсервере по ссылке http://cupsserver:631/printers/Kyocera-1024FP
. Аналогично настройке группы printer-windows1 создаем группу printer-linux1 c принтером Kyocera-1024FP в ней. Ее ссылка соответственно http://cupsserver:631/classes/printer-linux1
.
Теперь подключим принтер Kyocera-1024FP с хоста linux1 через принтсервер cupsserver к хосту windows1 с системой Windows 8 на борту без какой либо дополнительной(!) установки драйверов. Для этого мы при подключении принтера выбираем «Выбрать общий принтер по имени». В общем случае мы пишем http://имя_принтcервера:631/classes/название_группы
. В нашем конкретном случае — http://cupsserver:631/classes/printer-linux1
. При запросе на выбор драйвера указываем марку «Generic», модель — «MS Publisher Imagesetter». Все подтверждаем далее, и имеем подключенный принтер с название вроде printer-linux1 на http://cupsserver:631
. Если до сих пор никаких ошибок и подводных камней при настойке не возникло, то попытка пробной печати приведет к успешной печати на Kyocera-1024FP.
Теперь подключим принтер Canon-MF4400 с хоста windows1 через принтсервер cupsserver к хосту linux1 с системой Linux на борту без какой либо дополнительной(!) установки драйверов. Для этого мы при подключении принтера действуем аналогично тому, как подключали Kyocera-1024FP к принтсерверу cupsserver. То есть при добавлении принтера на linux1 выбираем метод подключения «Протокол интернет печати (http)», в качестве расположения принтера (Canon-MF4400) ссылку на его группу на принтсервере — http://cupsserver:631/classes/printer-windows1
. При запросе на выбор драйвера указываем марку «Generic», модель — «IPP Everywhere». Называем его как угодно, можно назвать так же как группу — printer-windows1. Теперь принтер доступен на linux1 по ссылке http://linux1:631/printers/printer-windows1
, и мы уже можем отправлять на печать документы.
Главная прелесть данного метода в том, что если на любом из ПК заменяется принтер, заменяется сам компьютер, или то и другое сразу, то это никак не влияет на тех, кто был к ним подключен через группу на принтсервере. Единственная настройка производится на принтсервере — к принтсерверу подключается новый принтер, затем из группы, в которой состоял старый принтер, он удаляется, и добавляется новый принтер на замену старому. И никаких дополнительных настроек на любом количестве ПК, только на принтсервере и собственно ПК на котором меняли принтер. Драйвера «IPP Everywhere» и «MS Publisher Imagesetter» содержат большое количество настроек бумаги, печати и т.д., так что нет проблем настроить нужный вид печати через них.
Заключение
Тема слишком обширна, чтобы изложить сколько-нибудь подробно, и даже так статья вышла крайне объемной. Любые уточнения, указания на ошибки, нераскрытые вопросы и советы, данные в комментариях к данной статье, будут приняты во внимание и в случае необходимости включены в статью.