Не удалось открыть файл private var spool

Обновлено: 07.07.2024

diart » 29 апр 2016, 17:00

Столкнулся с такой ситуацией:
На фирме начали использовать 1с CRM + их же звонилка, там есть функционал по прослушиванию звонков из астериска, если прописать расшаренный путь.
И вот тут началась заковыка.
Обычные папки из /home нормально открываются практически по любым инструкциям, а папка /var/spool/asterisk/monitor никак, уже и права 777 дал и пользователя владельца менял.Из под винды папка видна, но открыть нельзя. (другие можно)
Кто-нибудь сталкивался?
Можно поменять путь сохранения записей?

ded » 29 апр 2016, 17:32

diart писал(а): Можно поменять путь сохранения записей?

diart » 29 апр 2016, 18:01

Спасибо.
А доступ к записям из freepbx не пропадёт? ip/pbx/recordings
А если в будущем по каким-то причинам возникнет ситуация, когда папку по-умолчанию я сменить не смогу? (даже не представляю такой ситуации, но всё же)

ded » 29 апр 2016, 18:11

ip/pbx/recordings - плохо. Это старый модуль ARI, он дырявый 99 раз. Его вообще не должно быть у вас в работе по уму.

awsswa » 29 апр 2016, 20:39

У samba есть режим доступа когда другие права на директорию и файл

whoim » 30 апр 2016, 20:21

awsswa » 30 апр 2016, 23:02

не - так не прокатит
вы под рутом лезете туда - а надо именно под пользователем asterisk лезь

[monitor]
path = /var/spool/asterisk/monitor
writeable = no
browseable = yes
guest ok = yes
force user = asterisk

whoim » 07 май 2016, 15:49

map to guest
Этот параметр полезен только в режиме SECURITY = user, НО НЕ в режимах security = share и security = server. Он может принимать 4 различных значения, которые сообщают демону smbd что делать с запросами, которые не удалось аутентифицировать в UNIX. Эти 4 значения .
* Bad User — Означает, что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует. Если не существует, то такие запросы будут считаться как попытки зайти гостем (guest account).

Это имя пользователя будет использоваться для доступа к сервисам, для которых задан guest ok = yes.
Независимо от привилегии пользователя гостевой общий ресурс будет доступен для любого клиента.
Этот пользователь должен существовать в файле паролей, однако при подключении не требуется вводить пароль.
Учетная запись пользователя «ftp» — хороший выбор для этого параметра.
На некоторых системах гостевая учетная запись по умолчанию — «nobody» возможно не получит доступ к печати. В этом случае используйте другую учетную запись. Вы должны проверить это, попытавшись войти в качестве гостя (возможно, с помощью команды su) и попытаться напечатать, используя команды системы печати такие как: lpr (1) или lp (1).
В этом параметре нельзя использовать % макросы, необходимо чтобы значение параметра было постоянным для корректной работы сервиса.

Поставил себе debian etch от августа 2006. Все вроде работает, как и в sarge и даже лучше, но только не cups. Даже принтер нельзя настроить. Вот что выдает KDE Printing Tool:

E [15/Nov/2006:06:25:40 +0300] Unable to bind socket for address 127.0.0.1:631 - Cannot assign requested address.
E [19/Nov/2006:11:27:34 +0300] Unable to bind socket for address 127.0.0.1:631 - Cannot assign requested address.
E [19/Nov/2006:11:28:00 +0300] Unable to bind socket for address 127.0.0.1:631 - Cannot assign requested address.
E [19/Nov/2006:11:28:00 +0300] Unable to bind socket for address 127.0.0.1:631 - Cannot assign requested address.
I [19/Nov/2006:15:22:53 +0300] Loaded configuration file "/etc/cups/cupsd.conf"
N [19/Nov/2006:15:22:53 +0300] Group and SystemGroup cannot use the same groups!
I [19/Nov/2006:15:22:53 +0300] Resetting Group to "root".
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/var/cache/cups"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/var/run/cups"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/etc/cups"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/etc/cups/ppd"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/etc/cups/ssl"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/etc/cups/printers.conf"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/var/spool/cups"
W [19/Nov/2006:15:22:53 +0300] Repairing ownership of "/var/spool/cups/tmp"
I [19/Nov/2006:15:22:53 +0300] Cleaning out old temporary files in "/var/spool/cups/tmp".
I [19/Nov/2006:15:22:53 +0300] Configured for up to 100 clients.
I [19/Nov/2006:15:22:53 +0300] Allowing up to 100 client connections per host.
I [19/Nov/2006:15:22:53 +0300] Using policy "default" as the default!
I [19/Nov/2006:15:22:53 +0300] Partial reload complete.
I [19/Nov/2006:15:22:53 +0300] Listening to 127.0.0.1:631 on fd 2.
I [19/Nov/2006:15:22:53 +0300] Listening to /var/run/cups/cups.sock on fd 3.
I [19/Nov/2006:15:24:15 +0300] Scheduler shutting down normally.
I [19/Nov/2006:15:24:15 +0300] Saving remote.cache.
I [19/Nov/2006:15:24:15 +0300] Saving job cache file "/var/cache/cups/job.cache".
I [19/Nov/2006:15:25:19 +0300] Loaded configuration file "/etc/cups/cupsd.conf"
N [19/Nov/2006:15:25:19 +0300] Group and SystemGroup cannot use the same groups!
I [19/Nov/2006:15:25:19 +0300] Resetting Group to "root".
W [19/Nov/2006:15:25:19 +0300] Repairing ownership of "/etc/cups"
W [19/Nov/2006:15:25:19 +0300] Repairing ownership of "/etc/cups/ppd"
W [19/Nov/2006:15:25:19 +0300] Repairing ownership of "/etc/cups/printers.conf"
I [19/Nov/2006:15:25:19 +0300] Cleaning out old temporary files in "/var/spool/cups/tmp".
I [19/Nov/2006:15:25:19 +0300] Configured for up to 100 clients.
I [19/Nov/2006:15:25:19 +0300] Allowing up to 100 client connections per host.
I [19/Nov/2006:15:25:19 +0300] Using policy "default" as the default!
I [19/Nov/2006:15:25:19 +0300] Full reload is required.
I [19/Nov/2006:15:25:19 +0300] Loaded MIME database from '/etc/cups': 34 types, 38 filters.
I [19/Nov/2006:15:25:19 +0300] Loading job cache file "/var/cache/cups/job.cache".
I [19/Nov/2006:15:25:19 +0300] Full reload complete.
I [19/Nov/2006:15:25:19 +0300] Listening to 127.0.0.1:631 on fd 2.
I [19/Nov/2006:15:25:19 +0300] Listening to /var/run/cups/cups.sock on fd 3.

А вот access_log:

Проверял - loopback интерфейс присутствует. Обновлял cupsys до текущего (1.2.5, кажется) - не помогает.

а через браузер на 127.0.0.1:631 зайти не пытался? а настроить cups через браузер?


ifconfig в студию - если там нет lo, то туда и копать.

А как можно узнать, кто занимает порт? Сканером портов (забыл, как эта прога называется)? Сомневаюсь, чтобы инициализационые скрипты 2 экземпляра cupsd запускали. Да и ps этого не подтверждает.

>ifconfig в студию - если там нет lo, то туда и копать.

Вот вывод ifconfig -a :

eth0 Link encap:Ethernet HWaddr 00:C0:DF:03:DA:D7
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:5 Base address:0xec00

lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

ppp0 Link encap:Point-to-Point Protocol
inet addr:212.129.107.251 P-t-P:212.129.107.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:456 errors:3 dropped:0 overruns:0 frame:0
TX packets:458 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:249622 (243.7 KiB) TX bytes:47173 (46.0 KiB)

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Вывод `netstat -ltnp | grep 631`:

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3986/cupsd

ps -A | grep cups :

3986 ? 00:00:00 cupsd

Вроде ничего странного, но не работает.

А где inet addres?

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:900 (900.0 b) TX bytes:900 (900.0 b)

для запуска в /etc/network/interfaces

auto lo
iface lo inet loopback

Удалось подключиться через localhost и принтер. Только вот KDE-шные проги упорно пишут те же ошибки, что и раньше (не найти список принтеров, убедитесь, что сервер cups запущен и правильно настроен). Да и в localhost:631 при попытке редактировать конфигурационный файл выдается No such file or directory.

Какой файл не находится?

Еще интересно, что в качестве сервера записан /var/run/cups/cups.sock с портом 631.

Я проверил: такого файла нет.


проверь, есть ли в /etc/cups/cupsd.conf строчка

Listen localhost:631 или Listen 127.0.0.1:631

И попробуй закомментировать Listen /var/run/cups/cups.sock

Переписал - не помогает. :(

В KDE Printing Tool установил сервер localhost - теперь ошибок при выводе принтеров нет. Правда, печать тоже не идет. Почему-то владелец всех заданий становится root, задание не выполняется и принтер останавливается (в системе, а реальный вообще не реагирует на задание).

Посмотрел права пользователей и обнаружил, что они не входят в группу lp - исправил, но это не изменило ситуацию. Вот вывод errors_log последней страницы:

d [25/Nov/2006:11:10:00 +0300] copy_attribute(0x80ac138, 0x80d4cc0[printer-op-policy-supported,4,42])

d [25/Nov/2006:11:10:00 +0300] cupsdReadClient: 11 Closing data file 10, size=20091.
I [25/Nov/2006:11:10:00 +0300] Installing config file "/etc/cups/cupsd.conf".
D [25/Nov/2006:11:10:00 +0300] cupsdSendError: 11 code=201 (Created)
D [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: 7
d [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: Removing fd 7 from InputSet and OutputSet.
D [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: 8
d [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: Removing fd 8 from InputSet and OutputSet.
D [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: 11
d [25/Nov/2006:11:10:00 +0300] cupsdCloseClient: Removing fd 11 from InputSet and OutputSet.
d [25/Nov/2006:11:10:00 +0300] cupsdPauseListening: Clearing input bits.
d [25/Nov/2006:11:10:00 +0300] cupsdPauseListening: Removing fd 0 from InputSet.
d [25/Nov/2006:11:10:00 +0300] cupsdStopListening: closing all listen sockets.
d [25/Nov/2006:11:10:00 +0300] cupsdPauseListening: Clearing input bits.
d [25/Nov/2006:11:10:00 +0300] cupsdPauseListening: Removing fd 0 from InputSet.
d [25/Nov/2006:11:10:00 +0300] cupsdStopBrowsing: Removing fd 3 from InputSet.
I [25/Nov/2006:11:10:00 +0300] Saving remote.cache.
d [25/Nov/2006:11:10:00 +0300] cupsdStopServer: Removing fd 4 from InputSet.
I [25/Nov/2006:11:10:00 +0300] Loaded configuration file "/etc/cups/cupsd.conf"
N [25/Nov/2006:11:10:00 +0300] Group and SystemGroup cannot use the same groups!
I [25/Nov/2006:11:10:00 +0300] Resetting Group to "root".
I [25/Nov/2006:11:10:00 +0300] Cleaning out old temporary files in "/var/spool/cups/tmp".
I [25/Nov/2006:11:10:00 +0300] Configured for up to 100 clients.
I [25/Nov/2006:11:10:00 +0300] Allowing up to 100 client connections per host.
I [25/Nov/2006:11:10:00 +0300] Using policy "default" as the default!
I [25/Nov/2006:11:10:00 +0300] Partial reload complete.
I [25/Nov/2006:11:10:00 +0300] Listening to 127.0.0.1:631 on fd 2.
I [25/Nov/2006:11:10:39 +0300] Adding start banner page "none" to job 9.
I [25/Nov/2006:11:10:39 +0300] Adding end banner page "none" to job 9.
I [25/Nov/2006:11:10:39 +0300] Job 9 queued on "ML1520" by "root".
I [25/Nov/2006:11:10:39 +0300] Started filter /usr/lib/cups/filter/pstops (PID 5418) for job 9.
I [25/Nov/2006:11:10:39 +0300] Started filter /usr/lib/cups/filter/foomatic-rip (PID 5419) for job 9.
I [25/Nov/2006:11:10:39 +0300] Started backend /usr/lib/cups/backend/parallel (PID 5420) for job 9.
E [25/Nov/2006:11:10:39 +0300] PID 5420 (/usr/lib/cups/backend/parallel) stopped with status 1!
I [25/Nov/2006:11:10:39 +0300] Hint: Try setting the LogLevel to "debug" to find out more.
E [25/Nov/2006:11:10:39 +0300] [Job 9] Unable to open parallel port device file "/dev/lp0": Permission denied
E [25/Nov/2006:11:10:43 +0300] PID 5419 (/usr/lib/cups/filter/foomatic-rip) stopped with status 9!
I [25/Nov/2006:11:10:43 +0300] Hint: Try setting the LogLevel to "debug" to find out more.
I [25/Nov/2006:11:10:43 +0300] [Job 9] Backend returned status 1 (failed)
I [25/Nov/2006:11:10:43 +0300] Saving printers.conf.
I [25/Nov/2006:11:11:04 +0300] Job 9 was canceled by "root".

Пробовал сменить драйвер на ml1510 (работал в Debian Sarge за отсутствием родного ml1520) - не помогает.

Итак, исторически в Linux было 2 системы печати LPRng и BSD LPD. Данные системы постепенно устаревают и на смену им приходит система печати CUPS, которая разработана как замена вышеуказанных систем и возможности которой гораздо шире. При использовании GUI интерфейса GNOME, KDE или другого, управление принтерами с помощью CUPSосуществляется не сложнее, чем в Windows. В статье я же сделаю упор на работу в консольном режиме и GUI инструменты рассматривать практически не буду (клавиши Ctrl+P (печать в GUI) есть на всех клавиатурах и работают одинаково как в Windows, так и в Linux ). Отмечу только, что при использовании графической оболочки, запускаются те же команды, что мы рассмотрим далее.

Как система печати Linux обрабатывает файлы

В Linux только пользователь root имеет возможность прямого доступа к устройствам (в нашем случае - к принтеру), остальным пользователям операционная система не дает возможности обращаться напрямую к физическим устройствам, чтобы избежать появления конфликтных ситуаций. Вместо этого, утилиты обращаются к фоновым системным процессам, которые ставят задания в очередь на печать. Кроме всего прочего, данные процессы выполняют преобразование содержимого исходных файлов, подготавливая его к выводу на определенный принтер. Для этого используются язык принтера и протоколы обмена, на основании которых настраивается разрешение печати, формируются страницы, если необходимо, убираются/добавляются колонтитулы, нумеруются страницы.

Система печати Linux находится под контролем демона cupsd, который обладает всеми необходимыми привилегиями, чтобы обращаться к принтерам от имени пользователя. Данный демон автоматически загружается при запуске Linux и настраивает систему для корректной работы печати. Все необходимые параметры демон берет из каталога /etc/cups.

В Linux, где установлен CUPS, для печати используются два основных метода. В основе первого лежат команды lpr и lp (в более новых версиях CUPS). Которые в качестве аргумента принимают имя печатаемого файла и отправляют его на печать на принтер по умолчанию. Данные команды являются "мостиком" ко второму способу печати. В основевторого способа лежат обращения к системным вызовам CUPS. Приложения, использующие данный метод могут не только посылать cupsd информацию, но и получать от демона информацию, о возможностях принтера. В ответ на такой запрос, CUPS возвращает приложению файл в формате PPD (PostScript Printer Definition - описание принтера PostScript). Данные файлы описывают возможности, которыми обладают принтеры (размер страницы, разрешение, ориентация и т.п.). Файлы PPD являются ключевыми компонентами впакете драйверов для принтеров. Для принтеров, которые не поддерживают язык PostScript, предоставляются PPD-файлы, описывающие возможности через GhostScript.

Совершенно не важно, поддерживает приложение CUPS или нет - после того, как демон cupsd примет задание печати, он поместит его в каталог буфера печати - спулер (обычно -/var/spool/cups) вместе с файлом, описывающим данное задание. Далее cupsd сортирует список заданий и отправляет на принтер одно за другим.

Управление печатью в Linux

Система печати в Linux довольно сложна и настройка обычно происходит либо очень просто (потому что CUPS все сам обнаружит и настроит), либо очень сложно (к примеру попробуйте быстро заставить работать принтер Canon LBP-810 с Linux). Работа печати в Linux основана на нескольких различных пакетах. Основной - это пакет cups, содержащий демон печати. В большинстве дистрибутивов имеется пакет cups в репозитории. Право выбора, каким образом устанавливать ПО в Linux оставляю вам. Я установил так: apt-get install cups. Данный пакет отлично подхватывает все необходимые зависимости.

Давайте немного разберемся, что же такое PostScript, а что такое GhostScript? Как показывает практика, приложения Linux и UNIX в большинстве случаев генерируют на выходе файлы двух форматов:

Простой текст

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

PostScript

Язык Adobe PostScript - это один из многих языков принтеров. Большинство приложений, использующих сложное форматирование на выходе всегда создают файл формата PostScript.

К сожалению, современные принтеры не все поддерживают язык PostScript (особенно бюджетные модели для дома и малого бизнеса). В связи с этим, файл, полученный от приложения, должен пройти обработку GhostScript. GhostScript - это интерпретатор PostScript, который может размещаться в компьютере, а не в принтере.

Следует заметить, что GhostScript рассматривает все принтеры, как графические устройства. Таким образом, при выводе на печать обычного текстового документа GhostScriptпреобразует текст в растровый рисунок и отправляет этот рисунок принтеру. Это означает, что GhostScript не может использовать шрифты, встроенные в принтер. Это так же означает, что печать документов через GhostScript иногда выполняется более медленно, чем печать тех же документов на драйверах Windows. Хотя в большинстве случаев эта разница практически не заметна, бывают и большие задержки.

Стандартная установка CUPS поддерживает довольно узкий спектр принтеров (хотя, это довольно спорный момент ). Обычно, это модели с поддержкой PostScript и принтеры компаний HP и Epson. Если принтер автоматически не определился, то необходимо посетить сайт производителя принтера для получения пакета драйверов и инструкций об установке принтера в системе Linux.

Подключение и настройка принтеров в Linux

Для подключения принтеров существует несколько интерфейсов, таких как: USB, Ethernet, LPT и COM (последний безбожно устарел). Данным интерфейсам соответствуют устройстваLPT - /dev/lp*, COM - /dev/ttyS* (вместо звездочек, естественно - цифра, обозначающая номер порта, к которому подключено устройство), для взаимодействия с USB используется дерево каталогов /proc/bus/usb, для Ethernet, естественно - IP.

Прежде чем настроить службы печати в Linux, необходимо убедиться, что соединение с принтером действительно установлено. Наверное, лучше всего это проверить из операционной системы windows, если она у вас установлена 2ой системой. Если нет такой возможности, то давайте попробуем обнаружить наш принетр средствами Linux. Если принтер подключен к LPT, либо COM, то можно выполнить команду для LPT: cat /etc/fstab > | /dev/lp0 или для com: cat /etc/fstab > | /dev/ttyS0. При этом, на устройстве в лучшем случае должно напечататься содержимое файла, в худшем - мигнуть индикаторы состояния. Если используется порт USB, то можно проверить подключение устройства с помощью командыlsusb, вывод которой должен содержать маркировку принтера. Для Ethetnet соединения, думаю достаточно проверить доступность IP принтера командой ping.

Настройка безопасности CUPS

В отличии от старых систем LPD, управлять системой печати CUPS удобнее через Web. Однако, по умолчанию, настройка доступа к web интерфейсу может быть настроена не корректно. Некоторые дистрибутивы предоставляют свои инструменты управления CUPS. Все настройки CUPS хранятся в файле /etc/cups/cupsd.conf. Данный файл смоделирован по образу файла Веб сервера Apache. Данному веб серверу я обязательно посвящу обзор. Файл конфигурации cupsd.conf начинается с ряда глобальных параметров директив, которые оформлены в виде пар имя - значение. Для примера, чтобы изменить имя сервера, отправляемое другим системам, необходимо ввести директиву:

Данная строка определяет имя сервера как my.printserver.local. Файл конфигурации обладает огромным количеством директив, описание которых выходит далеко за рамки данной статьи. К сожалению, на русском языке я так и не нашел полного описания конфигурационного файла. Могу сказать одно - полный пакет документации можно будет почитать на английском прямо из настроенного веб интерфейса. А так же, документация по конфигурационному файлу доступна тут. Приведу Вам начало своего конфигурационного файла, содержащего глобальные директивы:

Давайте разберем каждый параметр.Как уже упоминалось выше, ServerName указывает имя сервера печати. LogLevel указывает подробность журналирования (по умолчанию при установке параметр равен info, если возникли какие-то проблемы с CUPS, а в протоколе нет ничего информативного, можно поднять уровень до максимального — debug2), Portуказывает на каком порту будет доступен веб-интерфейс, Listen позволяет указать на каком IP адресе будет доступен веб-интерфейс, а так же прослушиваемый сокет.

Параметры, начинающиеся на Browsing требуют отдельного разговора, они задают настройки "просмотра". В данном случае, под термином просмотр необходимо понимать возможность CUPS обнаруживать принтеры в сети. Данная возможность поддерживается на уровне протокола IPP. Обнаружение происходит посредством широковещательных рассылок, что при большом количестве серверов CUPS или при частом отключении/подключении принтеров может порождать дополнительную нагрузку на сеть. Так же, включение просмотра влечет за собой определенное бремя безопасности. Например, систему настроенную на автоматический поиск легко обмануть, предоставив поддельную информацию о принтерах, а при наличии недочетов в коде CUPS это может привести к негативным последствиям. Давайте разберем указанные параметры:

BrowseAllow и BrowseDeny

Указывают CUPS на стороне клиента адреса, от которых может приниматься или отвергаться, соответственно, информация о принтерах. Формат директив соответствует директивам Allow и Deny. В качестве аргумента для данной директивы может быть как отдельный IP, так и подсеть в формате 10.0.0.0/24 или 10.0.0.0/255.255.255.0 или 10.0.0.0-10.0.0.255, так и значение @LOCAL - обозначающее локальную сеть, а так же имена хостов. Возможно использование нескольких данных директив.

Browsing

Указывает CUPS предоставлять свои серверы в общий доступ, либо нет. Значения может принимать On или Off соответственно.

BrowseAddress

Аналогична BrowseAllow. за исключением того, что она задает КОМУ посылать пакеты, а не от кого принимать.

Далее в конфигурационном файле указана директива DefaultAuthTape, которая указывает механизм аутентификации, который будет использоваться для организации доступа по умолчанию. Basic - указывает использовать логины/пароли от локальной системы. None - указывает не использовать аутентификацию. При указании параметра Digest все пароли будут передаваться в зашифрованном виде, но тогда необходимо создать пользователей CUPS с помощью команды lppasswd, пользователи будут добавлены в файл/etc/cups/passwd.md5.

Существует так же директива AuthClass, которая не присутствует в моем конфигурационном файле. Данная директива определяет, какие группы пользователей могут иметь доступ к подсистеме. Может принимать значения: Anonymous, User, System, Group. Параметр Anonymous указывает, что аутентификация производиться не должна. Параметр User говорит, что любой пользователь системы, корректно указавший имя/пароль может иметь доступ. System - говорит, что доступ к подсистеме могут получить только пользователи - члены системной группы cups. Group указывает возможность пользоваться подсистемой только членам группы, которая должна быть указана в последующей директиве AuthGroupName.

Директива Order определяет порядок предоставления доступа к CUPS по умолчанию. Значение Deny,Allow определяет - отвергать попытки доступа, если право на доступ не указано явно. Если директива имеет значение Allow,Deny, то доступ будет предоставлен, если явно не запрещен.

В конфиге можно заметить, что после DefaultAuthType идут параметры, сгруппированные в разделы . Такие директивы определяют доступ к определенным функциям сервера.

Особенности использования Веб интерфейса

Долго о Веб-интерфейсе описывать не буду. Последняя версия CUPS 1.4 практически полностью русифицирована. Управление принтерами через веб-морду не сложнее процесса установки принтера в операционной системе Windows. Единственный нюанс в Linux - это то, что фактически, "принтер" есть очередь печати. То есть фактически мы посылаем документ в определенную очередь печати с определенными настройками. Очередь привязана к конкретному принтеру-устройству. Таким образом, к одному принтеру может быть привязано несколько очередей с разными настройками. Это как в Windows установить несколько "принтеров" с разными версиями драйвера, но привязанными к одному физическому устройству.

Кроме веб-интерфейса, существуют так же консольные команды управления CUPS.

Параметры принтеров CUPS хранит в файле /etc/cups/printers.conf. В данный файл руками лезть не стоит. Он заполняется при настройке в веб интерфейсе. Пример файла:

Описание каждого установленного принтера (соответствующий PPD-файл) находится в каталоге /etc/cups/ppd/<имя_принтера>.ppd.

Управление демоном CUPS ничем не отличается от управления любой другой службой. То есть запуск, остановка, перезапуск можно выполнить командами:

Хочу еще отметить такой нюанс. CUPS разрабатывался как замена системе печати LPD. В LPD источником информации о имеющихся принтерах очередях печати был файл/etc/printcap. CUPS обратно совместим с данной системой печати и если мы посмотрим на файл printcap, то увидим, что:

файл printcap является символьной ссылкой на /var/run/cups/printcap. Т.о. CUPS сама следит за корректностью данного файла и тем самым обеспечивает обратную совместимость с LPD.

Устранение неполадок в системе печати

Не всегда удается настроить принтер с первого раза и иногда настройка становится чрезвычайно сложной, убивающей веры в свои силы. Постараюсь описать некоторые шаги по устранению проблем с печатью:

  • Постарайтесь проверить работоспособность принтера на другой ОС. Естественно, если он не заработает в другой ОС, то проблема скорее всего в аппаратной части.
  • Проверьте все физические соединения. Питание, информационный провод. Проверьте включен ли принтер и имеется ли бумага в лотке, а так же нет ли сигнализации об ошибках на принтере.
  • Если принтер подключается по USB, LPT, COM, то посмотрите выводы команд lsusb, dmesg на наличие записей о принтере. Если принтер с Ethernet-интерфейсом, проверьте связь с ним командой ping.
  • Если все вышеперечисленные проверки завершились успехом - тщательно проверьте настройки CUPS.
  • Проверьте в Веб-интерфейсе, не остановлена ли очередь печати принтера.
  • Если в статусе принтера написано waiting for job copmlete, то что-то мешает CUPS очистить очередь печати принтера (например отсутствие физического соединения с принтером или нехватка прав доступа).
  • Если при печати на бумаге выводится всякий мусор, то скорее всего выбраны неверные параметры/модель принтера.
  • Так же, для поиска неисправности необходимо просмотреть логи принтера в каталоге /var/log/cups/
  • Ну и как всегда, вам в помощь яндэкс и гугл.

Файлы и каталоги CUPS

В статье я уже приводил некоторые каталоги и файлы CUPS. В большинстве случаев, ручное редактирование каких-либо файлов CUPS, кроме /etc/cups/cupsd.conf, требуется довольно редко. Но для общего развития я расскажу о расположении файлов. Итак, как уже говорилось, для хранения настроек CUPS использует каталог /etc/cups/. Основной файл, имеющий для нас интерес - это cupsd.conf, который хранит глобальные настройки, так же существует printers.conf, хранящий настройки принтеров очередей печати. Подкаталог ppdсодержит файлы PPD для локальных принтеров. Файл passwd.md5 хранит зашифрованные пароли пользователей CUPS.

Большой объем данных лежит в /usr/share/cups/, в котором хранятся служебные файлы. Особый интерес представляет каталог /usr/share/cups/model/ (который в последней версии CUPS был перемещен в /usr/share/ppd/), который хранит описания для принтеров. При каждом старте сервер сканирует каталог /usr/share/cups/model на предмет появления новых описаний принтеров (PPD-файлов).

В процессе работы CUPS использует каталог /var/spool/cups/ для хранения описаний заданий печати и самих файлов заданий. Владельцем данного каталога должен быть пользователь root и группа lp. Права доступа определены, как 0710 (rwx--x---).

Так же используется каталог /var/run/cups/ для хранения информации о работе демона, такой как сокет, файл printcap и др.

на странице ip:631
принтер отображается.
если в настройках вывести пробную страницу принтера на печать даже шуршит шестернями. но не печатает.

на странице cups:

samsung samsung Samsung ML-1210 Foomatic/gdi (recommended) ожидает - "Принтер подключен."

в /etc/printcap ничего нет.

установил по новой принтер взяв на этот раз дрова от cups
в итоге:

в очереди висит, но не печатает.

как тут быть?
подскажите.

изменил на usb:/dev/unlpt0 тот же результат, шумит но не печатает..

Виноват.
все заработало.
удалил foomatic-filters установил cups-filters все заработало.
хотя дрова пишет что они foomatic
и пришлось перезагрузится. так как ни ресет cups\lpd не помогли.

фух, настроил.. пошел теперь его по сети шарить. надеюсь тут без глюков.

кто ставил такой принтер, чего копивароть надо в папку print$\W32X86
встал на команде:
smbclient -H //localhost/print$ -Uroot -c 'mkdir W32X86;put /var/spool/cups/tmp/470334eed261d W32X86/hp2420_y3.ppd;put /usr/local/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/local/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/local/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/local/share/cups/drivers/pscript5.dll W32X86/pscript5.dll'
а вторая для принтеров hp. подобных файлов нема на виндовой машине. Вы куда-то в дебри полезли.
Samsung ML-1210 (1200) для FreeBSD беспроблемный принтер.
Был у меня такой, пока благополучно не умер.
Принтер был прикручен к FreeBSD, в Капсе расшарен и все Вендотачки на него печатали
без проблем, на Вендотачки ставились Вендовые дрова. А вы Самбе "рассказали", что принтер есть?
Самба какая установлена? не, я понимаю, что я дурак, но не настолько же.
раздел глобал:

принтер и папка для настроек

на время установки дров:


при заходе на шару \\freebsd
имеем:
2 принтера:
-printer
-Virtual_PDF_Printer
берут список отсюда:

и один каталог "принтеры и факсы" при заходе в который пусто, можно только установить принтер.
НО:
нажимаешь на printer или Virtual_PDF_Printer
показывает окно:
вы подключаетесь блаблабла - ОК - вы хотите установить драйвера - ОК - выбираем дрова котрые установлены на хр - ок - и облом:"windows не удается подключиться к принтеру. введено неправильно имя или принтер утерял подключение. нажмите справка"
если нажать в принтеры и факсы - добавить принтер - выползает:
"у вас недостаночно привелегий для установки дров на принтер \\freebsd. хотите выполнить программу от другого пользователя" "у вас недостаночно привелегий для установки дров на принтер \\freebsd. хотите выполнить программу от другого пользователя"
Судя по всему прав действительно не хватает,
посмотрите права доступа на /usr/local/share/cups/drivers

права на /usr/local/share/cups/drivers я и показывал выше постом.

сделал:
add path 'unlpt*' mode 0666

у вас недостаночно привелегий для установки дров на принтер \\freebsd.
что-то с правами доступа.
Смотреть в логах Капса и Самбы, может там и ответ будет.
Попробуйте nobody:nobody на папки

в логах samba пусто, только отчет о перезапуске

если там где дрова должны лежать - сделано давно.

на спуллер тоже стоит:

и все толку все равно нет.

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

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

1. не печатает на win 7(хотя если напрямую подключить, то печатает(настроил более-менее с бубном)), на хр и планшете все печатает.
дрова на компьютере(для локального и сетевого принтеров) абсолютно идентичные, кроме порта.

2. samba все также отфутболивает.
вот конфиги:
/usr/local/etc/cups/cupsd.conf

ServerAlias freebsd
LogLevel debug
PageLogFormat
Listen 192.168.7.1:631
Listen /var/run/cups.sock
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
Order allow,deny
Allow All
</Location>
<Location /admin>
Order allow,deny
Allow from 192.168.7.0/24
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from 192.168.7.0/24
</Location>
<Policy default>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set- Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Ge t-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS- Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Print er-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Acti vate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedu le-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit All>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
</Policy>
<Policy authenticated>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set- Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Ge t-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS- Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Print er-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Acti vate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedu le-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit All>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
</Policy>

/usr/local/etc/smb4.conf

/usr/local/etc/printcap

ls -l /var/spool/

total 40
drwxrwx--- 2 smmsp smmsp 7168 17 апр 03:09 clientmqueue
drwx--x--- 3 root nogroup 512 17 апр 20:44 cups
drwx------ 2 root cups 512 27 мар 18:17 cups-pdf
drwxrwxr-x 2 uucp dialer 512 11 апр 20:31 lock
drwxr-xr-x 2 root daemon 512 12 авг 2015 lpd
drwxr-xr-x 2 root daemon 512 12 авг 2015 mqueue
drwx------ 2 root daemon 512 12 авг 2015 opielocks
drwxr-xr-x 3 root daemon 512 27 мар 18:20 output
drwxr-xr-x 2 nobody nogroup 512 27 мар 19:13 samba

ls -l /usr/local/share/cups/drivers

total 28
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 IA64
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32ALPHA
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32MIPS
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32PPC
drwxrwxr-x 4 nobody nogroup 512 27 мар 21:02 W32X86
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 WIN40
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 x64

smbd -V

cat /etc/devfs.conf | grep lp

own ulpt0 root:cups
perm ulpt0 0666
own unlpt0 root:cups
perm unlpt0 0666

cat /etc/rc.conf | grep devf

cat /usr/local/etc/cups/printers.conf

отчет о печати(то что жирным выделено, было распечатано):

printer-33 Неизвестное Приостановлено пользователем 36k Неизвестно Завершено
Sun Apr 17 21:08:47 2016

printer-32 Test Page anonymous 1k Неизвестно Завершено
Sun Apr 17 21:05:45 2016

printer-31 Неизвестное Приостановлено пользователем 1100k 1 Завершено
Sun Apr 17 21:03:20 2016

printer-30 Неизвестное Приостановлено пользователем 1100k 1 Завершено
Sun Apr 17 20:44:08 2016

printer-29 Неизвестное Приостановлено пользователем 113k 1 Завершено
Sun Apr 17 20:38:26 2016

printer-28 Test Page anonymous 1k Неизвестно Завершено
Sun Apr 17 20:33:30 2016

Читайте также: