Автор Тема: CUPS / Ограничить показ сетевых принтеров [решено]  (Прочитано 10476 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Всем привет!

На Simply Linux 8 расшарил принтер через CUPS, на других машинах с Linux в локальной сети в диалоге печати этот расшаренный принтер сразу появляется.
Как от этого избавиться, либо разрешить печатать по сети отдельным машинам ?
В сети не смог найти решения.
Раньше в CUPS была галочка "Показать принтеры, использующиеся в других системах", но в новых версиях её убрали, вместо неё теперь используется сервис cups-browsed, но у меня он и так отключён:
# systemctl status cups-browsed
● cups-browsed.service - Make remote CUPS printers available locally
   Loaded: loaded (/lib/systemd/system/cups-browsed.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
« Последнее редактирование: 08.02.2019 08:18:01 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Ага, выключил я на клиенте:
# systemctl stop org.cups.cupsd.path
# systemctl stop cups
И всё равно сетевые принтеры отображаются в диалоге печати!
Откуда они там появляются ?.. То есть сами приложения в обход CUPS находят сетевые принтеры, это как так !?
Сноси Винду, переходи на Линукс ! :)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
Я когда-то для такой цели в самом конфиге cups делал строчки с Allow для определенных IP и deny всем.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Я когда-то для такой цели в самом конфиге cups делал строчки с Allow для определенных IP и deny всем.
Но как ? Подскажите, я пишу на сервере:
<Location />
  Order deny,allow
  Deny all
  Allow 192.168.0.10
</Location>
Но так не работает. Вообще никому недоступно.
Сноси Винду, переходи на Линукс ! :)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
там надо почитать логику обработки этих строчек, возможно надо порядок поменять.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
там надо почитать логику обработки этих строчек, возможно надо порядок поменять.
Так вроде Order и так задаёт порядок...
https://docs.altlinux.org/ru-RU/archive/2.2/html-single/master/admin-html/ch21s02.html
Сноси Винду, переходи на Линукс ! :)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
ну тогда вы From пропустили

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
ну тогда вы From пропустили
С from тоже не работает.
Я думаю, это необязательно использовать, потому что если сделать так, то работает:
<Location />
  Order deny,allow
  Deny all
  Allow @LOCAL
</Location>
Сноси Винду, переходи на Линукс ! :)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
А в логах что пишет когда не пускает?

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
А в логах что пишет когда не пускает?
В логах ничего интересного нет.
На сервере только перезапуск CUPS:
фев 08 09:16:07 server01.localdomain systemd[1]: Stopping CUPS Scheduler...
фев 08 09:16:07 server01.localdomain systemd[1]: Stopped CUPS Scheduler.
фев 08 09:16:07 server01.localdomain systemd[1]: Starting CUPS Scheduler...
фев 08 09:16:07 server01.localdomain colord[985]: failed to get session [pid 1293]: Нет доступных данных
фев 08 09:16:07 server01.localdomain colord[985]: failed to get session [pid 1293]: Нет доступных данных
фев 08 09:16:07 server01.localdomain systemd[1]: Started CUPS Scheduler.
На клиенте только avahi-daemon опрашивает сеть:
фев 08 09:07:51 pc01.localdomain dbus[372]: [system] Rejected send message, 0 matched rules; type="method_return", sender=":1.96" (uid=492 pid=3453 comm="avahi-daemon: starting up ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.95" (uid=5000 pid=3418 comm="leafpad ")

Ну вот вообще не работает ограничение, либо что-то неправильно делаю всё-таки...
Например, делаю на сервере так:
<Location />
  Order allow,deny
  Allow all
</Location>
<Location /printers>
  Order Deny,Allow
  Deny All
  Allow 127.0.0.1
  Allow 192.168.10.*
</Location>
Иду на сервер по адресу http://192.168.10.10:631/printers/ и получаю "Запрещено". Исправляю 192.168.10.* на @LOCAL, перезапускаю CUPS и теперь по ссылке пускает. Я и маску пробовал указывать и доменные имена, IP-адреса точечно - вообще никак не хочет срабатывать, хотя в логах ошибок нет, то есть такой синтаксис CUPS устраивает.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
В общем решил проблему иначе, на сервере в cupsd.conf заменил:
Browsing On
BrowseLocalProtocols dnssd
на
Browsing Off
#BrowseLocalProtocols dnssd

Затем на сервере и клиенте перезапустил cups и avahi-daemon. Теперь avahi не показывает расшаренный принтер в диалоге печати, но на него можно печатать по IPP, добавив его вручную в CUPS клиента.

[решено]
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
https://www.cups.org/doc/man-cupsd.conf.html осталось непонятно, почему не работают Allow/Deny...
Сноси Винду, переходи на Линукс ! :)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
https://www.cups.org/doc/man-cupsd.conf.html осталось непонятно, почему не работают Allow/Deny...
а вы в конец или начало файла это добавляли? Я так понимаю ограничения действуют на то что дальше по тексту.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
а вы в конец или начало файла это добавляли? Я так понимаю ограничения действуют на то что дальше по тексту.
Вот также примерно:
LogLevel warn
PageLogFormat
MaxLogSize 0
Listen localhost:631
Listen /var/run/cups/cups.sock
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
  Order allow,deny
</Location>
<Location /admin>
  Order allow,deny
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>
<Location /admin/log>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>
Дальше только Policy.

PS. Это вывод с другой машины, но на той порядок такой же. То есть конфиг штатный.
« Последнее редактирование: 08.02.2019 14:54:56 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)