В корпоративной среде на базе отечественной операционной системы Astra Linux часто возникает необходимость организовать общий доступ к периферийному оборудованию. Пользователи административных отделов или бухгалтерии хотят отправлять документы на печать с рабочих станций, не подключаясь физически к устройству. Это требование легко реализуется с помощью встроенных механизмов CUPS и Samba, которые обеспечивают стабильную работу в гибридных сетях.

Процесс расшаривания (открытие общего доступа) принтера не требует установки дополнительного платного ПО. Все необходимые утилиты уже включены в базовый образ системы. Однако важно понимать разницу между локальной настройкой самого устройства и настройкой сетевого протокола для клиентов. Если вы администратор сети, вам предстоит настроить сервер печати, а для обычных сотрудников достаточно указать сетевой путь.

Нередко пользователи пытаются копировать инструкции из Windows, что приводит к ошибкам конфигурации. В Linux подход фундаментально отличается: здесь права доступа жестко привязаны к системным группам и пользователю root. Ключевым моментом успешной настройки является добавление пользователя в группу lpadmin для управления очередью печати. Без этого шага даже правильно настроенный сервер не даст права на отправку заданий.

Подготовка системы и установка необходимых пакетов

Прежде чем приступать к настройке самого принтера, необходимо убедиться, что в системе установлены все необходимые компоненты для организации печати. В стандартном образе Astra Linux (особенно в редакции "Орел") базовый набор утилит может быть минимизирован для повышения безопасности.

Откройте терминал и выполните обновление репозиториев, чтобы получить доступ к последним версиям пакетов. Это критически важно, так как старые версии библиотек могут конфликтовать с современными протоколами шифрования, используемыми на клиентских машинах.

Установите основные пакеты, отвечающие за работу принтера и сетевую серверную часть:

  • 🖨️ cups — главная система управления очередями печати.
  • 🌐 samba — позволяет раздавать принтер по протоколу SMB (как в Windows).
  • 🔌 printer-driver-gutenprint — набор драйверов для широкого спектра устройств.

Для установки всех компонентов одновременно используйте команду:

sudo apt update && sudo apt install cups cups-client cups-browsed samba cups-pdf

После завершения установки необходимо запустить службу печати и настроить её на автоматический запуск при старте системы. Если этого не сделать, сервер печати не будет доступен после перезагрузки сервера.

Проверьте статус службы с помощью утилиты systemctl: вы должны увидеть статус active (running). Если служба остановлена, это может быть связано с блокирующими фаерволами или ошибкой в конфигурационных файлах.

⚠️ Внимание: Если вы используете специфические драйверы от производителя принтера (HP, Xerox, Kyocera), убедитесь, что они совместимы именно с ядром вашей версии Astra Linux, иначе служба может не запуститься.
💡

Перед установкой драйверов проверьте архитектуру процессора, используя команду 'uname -m'. Для процессоров на базе x86_64 нужны соответствующие deb-пакеты, а не универсальные архивы.

Добавление принтера в систему через CUPS

Следующий этап — регистрация физического устройства в системе. CUPS (Common Unix Printing System) предоставляет как веб-интерфейс, так и консольный режим для управления устройствами. Веб-интерфейс удобнее для быстрого добавления, но консольная команда надежнее при автоматизации.

Для доступа к веб-интерфейсу откройте в браузере адрес https://localhost:631. Вам будет предложено ввести логин и пароль от учётной записи пользователя с правами администратора. Если браузер ругается на самоподписанный сертификат, просто подтвердите продолжение работы, так как это стандартная практика для локальных сервисов.

В меню Administration выберите пункт Add Printer. Система просканирует сеть и локальные порты, найдя доступные устройства. Если принтер подключен по USB, он появится первым. Если по сети — ищите его по IP-адресу или имени хоста.

Выберите устройство из списка и нажмите Continue. На следующем шаге вам нужно будет задать имя для принтера, которое будет использоваться в сети. Избегайте кириллицы в именах и пробелов, лучше использовать латиницу и нижнее подчеркивание, например, Hp_LaserJet_Office.

  • 🔧 Driver — выберите производителя и точную модель из списка. Если модели нет, загрузите PPD-файл с сайта вендора.
  • ⚙️ Options — настройте параметры по умолчанию, например, двустороннюю печать или цветовой режим.

После подтверждения настроек принтер станет доступен локально. Однако для других пользователей он еще не виден. Необходимо убедиться, что служба netbios работает корректно для обнаружения в Windows-сетях.

Что делать, если принтер не находится автоматически?

Попробуйте вручную указать URI принтера, используя формат

ipps://IP_АДРЕС/порт или socket://IP_АДРЕС:9100. Это часто решает проблему, когда автоматическое обнаружение блокируется сетевым оборудованием.

Настройка прав доступа и групп пользователей

Одной из самых частых проблем при настройке печати в Linux является отсутствие прав на отправку заданий. По умолчанию в Astra Linux доступ к CUPS имеет только пользователь root. Чтобы обычный сотрудник мог печатать, его необходимо добавить в специальную группу.

Создайте группу lpadmin, если она еще не существует (обычно она есть по умолчанию), и добавьте в неё пользователя. Это даст право не только печатать, но и управлять очередью (удалять чужие задания), что важно для офисной среды.

Выполните команду в терминале, заменив username на логин пользователя или @groupname на группу сотрудников:

sudo usermod -aG lpadmin username

Также необходимо разрешить анонимную печать или печать от имени любого пользователя в конфигурационном файле. Откройте файл /etc/cups/cupsd.conf в текстовом редакторе с правами суперпользователя. Найдите секцию <Location />> и измените директивы доступа.

Замените строку Allow localhost на Allow @LOCAL или укажите конкретный диапазон IP-адресов вашей подсети. Это критически важно для безопасности, чтобы принтер не был доступен извне.

⚠️ Внимание: Не разрешайте доступ ко всей сети (Allow all), если в ней есть не доверенные устройства. Это может привести к атакам на очередь печати и перегрузке системы.

После внесения изменений в конфигурационный файл необходимо перезапустить службу cups. Изменения вступят в силу только после перезапуска сервиса, иначе настройки будут проигнорированы.

sudo systemctl restart cups

Конфигурирование Samba для доступа из Windows

Поскольку большинство офисов работает на Windows, простой установки CUPS недостаточно. Для обеспечения совместимости используется протокол SMB через пакет Samba. Это позволяет машинам под управлением Windows видеть Linux-принтер как сетевое устройство.

Откройте конфигурационный файл Samba: /etc/samba/smb.conf. Вам нужно добавить новую секцию для принтера в конец файла. Убедитесь, что имя секции совпадает с именем, заданным при добавлении принтера в CUPS.

Пример конфигурации для раздела принтера:

В секции [global] убедитесь, что параметр printing = cups установлен. Это скажет Samba использовать CUPS в качестве бэкенда для печати.

Добавьте секцию принтера, указав путь к драйверу и права доступа. Важно прописать public = yes или настроить аутентификацию, если требуется пароль.

  • 📂 path — путь к временным файлам печати (обычно /var/spool/samba).
  • 🔐 guest ok — разрешение на печать без пароля (для доверенных сетей).
  • 🖨️ printable — должно быть установлено в значение yes.

[printer-name]

comment = Shared Printer

path = /var/spool/samba

printable = yes

guest ok = yes

read only = yes

browseable = yes

После сохранения файла проверьте его синтаксис утилитой testparm. Если ошибок нет, перезапустите службы Samba: smbd и nmbd.

1. Файл конфига сохранен без ошибок

2. Службы Samba перезагружены

3. Права на папку spool корректны

4. Пользователь добавлен в группу lpadmin-->

Таблица проверки портов и протоколов

Для корректной работы печати в сети необходимо убедиться, что сетевой фаервал не блокирует необходимые порты. В Astra Linux часто используется утилита ufw или встроенный firewalld. Ниже приведена таблица основных портов, которые должны быть открыты для исходящего и входящего трафика.

Протокол Порт Назначение Статус
IPP / HTTP 631 Служба печати CUPS Обязательно
SMB 445 Общий доступ файлов и принтеров Для Windows
NetBIOS 137-139 Обнаружение в сети Рекомендуется
LPD 515 Старый протокол печати Опционально

Если вы не знаете, как открыть порты в фаерволе, используйте простую команду для добавления правил для службы печати:

sudo ufw allow 631/tcp && sudo ufw allow smb

Не забудьте перепроверить доступность портов с клиентской машины, используя утилиту telnet или nmap. Если порт не открывается, проблема, скорее всего, в настройках сети, а не в ПО.

⚠️ Внимание: При работе с корпоративными сетями изменения в фаерволе могут быть заблокированы центральным сервером безопасности. Уточните у ИТ-отдела возможность открытия портов.
📊 Какой метод подключения вы предпочитаете?
Прямой IP (IPP)
SMB (Windows Share)
LPD (Старый)
Через доменную политику

Подключение принтера на клиентских машинах

После того как сервер настроен, пользователи могут подключаться к принтеру. В Windows это делается через Устройства и принтеры -> Добавить принтер. Система предложит найти устройства в сети. Если принтер не найден автоматически, выберите "Нужен принтер, но его нет в списке".

Введите сетевой путь в формате \\IP-АДРЕС-СЕРВЕРА\ИМЯ_ПРИНТЕРА. Например, \\192.168.1.50\OfficePrinter. Система запросит учетные данные, если на сервере настроена аутентификация, или предложит установить драйвер.

В Linux-клиентах (другие машины на базе Astra Linux или Ubuntu) подключение осуществляется через настройки принтера. Выберите "Сетевой принтер" и введите адрес по протоколу http://IP:631/printers/ИМЯ или smb://IP/ИМЯ.

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

Важно проверить, что драйвер на клиенте соответствует версии на сервере. Если сервер отдает PPD, клиент подтянет его автоматически. Если нет — придется загружать его вручную с сайта производителя.

💡

Самый надежный способ подключения к Linux-принтеру — использование протокола IPP (порт 631), так как он не зависит от версий SMB и работает стабильнее в смешанных сетях.

Устранение распространенных неполадок

Иногда, несмотря на верную конфигурацию, печать не работает. Самая частая проблема — проблемы с правами доступа к очереди или неверный драйвер. Проверьте логи системы, используя команду journalctl -u cups -f, чтобы увидеть ошибки в реальном времени.

Если задание застревает в очереди, попробуйте очистить её командой cancel -a и перезапустить службу. Иногда драйвер не может обработать файл, если он поврежден или имеет специфический формат.

В случае проблем с Samba проверьте, что пользователь имеет право на запись в папке спула. Ошибки "Permission denied" часто возникают из-за того, что папка /var/spool/samba принадлежит пользователю root, а не службе samba.

Используйте команду chown smbd:smbd /var/spool/samba для исправления владельца папки. Не забудьте также проверить права на чтение и запись для группы.

Если принтер виден, но не печатает, проверьте, не заблокирован ли доступ фаерволом. Иногда антивирусное ПО на клиенте блокирует подключение к нестандартным портам.

Используйте команду cancel JOB_ID, где JOB_ID — номер задания. Если задание не удаляется, попробуйте перезагрузить службу принтера или очистить папку /var/spool/cups.-->

В сложных случаях попробуйте временно отключить фаервол для диагностики. Если после отключения печать заработала, значит, дело исключительно в правилах безопасности сети.

Также стоит упомянуть про проблемы с кодировкой имен файлов. В старых системах Windows и Linux могут по-разному обрабатывать кириллицу в именах документов, что приводит к ошибкам при отправке задания.

⚠️ Внимание: Если принтер перестал отвечать после обновления системы, проверьте совместимость версий драйверов. Обновление ядра часто требует пересборки модулей печати.

Заключение и рекомендации по безопасности

Настройка расшаривания принтера в Astra Linux — это стандартная процедура, которая требует внимательности к деталям прав доступа и сетевых протоколов. Правильно настроенная система обеспечивает быстрый и безопасный доступ к печати для всех сотрудников офиса.

Регулярно обновляйте пакеты CUPS и Samba, чтобы закрывать уязвимости безопасности. Никогда не оставляйте общие принтеры доступными из интернета без защиты паролем или VPN.

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

Вопросы и ответы

Как сбросить очередь печати, если задание зависло?

Выполните команду sudo cancel -a в терминале. Если это не помогает, перезапустите службу: sudo systemctl restart cups.

Можно ли настроить печать без пароля для гостей?

Да, в конфигурации printer-name в Samba установите guest ok = yes. Также в cupsd.conf разрешите анонимную печать в секции Location /.

Почему Windows не видит Linux-принтер?

Скорее всего, заблокирован порт 445 или 139. Проверьте настройки фаервола и убедитесь, что служба smbd работает. Также проверьте, что имя принтера не содержит кириллицы.

Как изменить параметры печати по умолчанию?

Зайдите в веб-интерфейс CUPS (порт 631), выберите принтер, перейдите в "Administration" -> "Set Default Options" и сохраните настройки.