Bug 24172

Summary: Web-интерфейс CUPS не видит последовательный порт USB
Product: Sisyphus Reporter: Vadim Zelenin <VadimZelenin>
Component: cupsAssignee: Fr. Br. George <george>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: boyarsh, george, mike, rider
Version: unstable   
Hardware: x86   
OS: Linux   

Description Vadim Zelenin 2010-09-28 16:23:38 MSD
При подключении принтера создаётся /dev/ttyUSB0, устанавливаются права доступа 660 и владелец/группа root:uucp. Web-интерфейс CUPS не видит последовательный порт USB пока не изменишь права доступа на 666.
Comment 1 Vadim Zelenin 2010-09-28 16:27:04 MSD
Простите, возможно это будет полезно - 
О системе: ALT Linux 5.0.0 Desktop KDE  (Lycoris Radiata),
uname -a: Linux test-desktop.localdomain 2.6.30-std-def-alt15 #1 SMP Mon Dec 14 08:45:48 UTC 2009 i686 GNU/Linux
rpm -qa 'cups*':
cups-backend-serial-1.4.2-alt2.M50P.1
cups-1.4.2-alt2.M50P.1

Сообщение на форуме:
http://forum.altlinux.org/index.php/topic,8439.0.html
Comment 2 Michael Shigorin 2010-09-30 19:05:13 MSD
Цитирую Ваше сообщение на форуме:

---
Я сделал /etc/udev/71-permissions.rules по мотивам /etc/udev/70-permissions.rules и там прописал
KERNEL=="ttyUSB*", MODE="0666", GROUP="uucp",
Но это как-то не спортивно.  А как правильно поступать?
---

Вот именно так и поступать в смысле udev rules (которые после доводки стоит положить в cups), только права стоит поставить другие: MODE="0660", GROUP="lp" -- и фильтр по устройству изобразить.

См. тж. http://reactivated.net/writing_udev_rules.html

PS: повесив багу, хорошо бы ещё на форум/в рассылку забросить ссылку на неё, раз уж и там обсуждалось.
Comment 3 Vadim Zelenin 2010-09-30 20:59:22 MSD
Спасибо за совет относительно udev rules,
в сообщение на форуме добавил ссылку на ошибку.

Всё-таки что-то неправильное в подгонке udev rules под принтер. Я не уверен, что мой принтер имеет специфическую идентификацию:

Sep 28 13:24:16 ivan-desktop kernel: [696364.228539] usb 2-1: new full speed USB device using uhci_hcd and address 14
Sep 28 13:24:16 ivan-desktop kernel: [696364.406821] usb 2-1: New USB device found, idVendor=0403, idProduct=6001
Sep 28 13:24:16 ivan-desktop kernel: [696364.406826] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Sep 28 13:24:16 ivan-desktop kernel: [696364.406829] usb 2-1: Product: USB <-> Serial
Sep 28 13:24:16 ivan-desktop kernel: [696364.406831] usb 2-1: Manufacturer: FTDI
Sep 28 13:24:16 ivan-desktop kernel: [696364.406979] usb 2-1: configuration #1 chosen from 1 choice
Sep 28 13:24:16 ivan-desktop kernel: [696364.412885] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected
Sep 28 13:24:16 ivan-desktop kernel: [696364.412921] usb 2-1: Detected FT232BM
Sep 28 13:24:16 ivan-desktop kernel: [696364.413059] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0

В другой раз появится модем или др. устройство на FT232BM и это опять приведёт к проблемам.
Comment 4 Vadim Zelenin 2010-10-03 00:57:49 MSD
Посмотрел, как решается подобный вопрос в ubuntu. Тут (вернее, в debian) добавлен patch, запрещающий setuid для запуска backend-ов. Таким образом, /usr/lib/cups/backend/serial выполняется с правами root и проблем с обнаружением последовательных портов нет.

см. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506181
Comment 5 Michael Shigorin 2010-10-04 19:25:46 MSD
Давайте перевесим на сизифный cups, это уже про доработку там и бэкпорт сюда.
Comment 6 Vadim Zelenin 2010-10-05 16:51:11 MSD
(В ответ на комментарий №5)
> Давайте перевесим на сизифный cups, это уже про доработку там и бэкпорт сюда.

Делайте, как виднее.
К сожалению я не могу сейчас проверить на cups-1.4.2, но для cups-1.4.4 достаточно изменить права доступа к /usr/lib/cups/backend/serial на 700, и в результате этого cups начинает выполнять /usr/lib/cups/backend/serial с правами root.
Comment 7 Vadim Zelenin 2010-10-06 01:04:45 MSD
Проверил на cups-1.4.2 - установка прав доступа 700 на файл /usr/lib/cups/backend/serial обеспечивает выполнение /usr/lib/cups/backend/serial с правами root и может быть достаточна для появления последовательных портов (в т.ч. на USB) в выдаче lpinfo -v, web-интерфейсе cups, и т.п.
Comment 8 Vadim Zelenin 2010-10-11 18:01:25 MSD
Обнаружено, что эта ошибка (невидимость последовательных портов) для cups может быть исправлена в branch 5.1 (не хватает чего-то вроде 
%attr(0700,root,root) /usr/lib/cups/backend/serial
в спеке), и поскольку перенос на сизиф привёл к затишью в общении я вернул в branch 5.1.
Comment 9 Michael Shigorin 2010-10-12 03:00:44 MSD
Вадим, спасибо за отладку -- с Вами приятно общаться.
Но багу всё-таки лучше вернуть в сизиф. :)

Что до молчания -- не всегда получается добраться оперативно до _исправления_.
Comment 10 Fr. Br. George 2013-10-21 15:35:56 MSK
Просьба всем заинтересованным сторонам проверить, насколько появление принтера в списке может помешать кому-то другому. В принципе, бага до сих пор актуальна.
Comment 11 Fr. Br. George 2013-10-29 12:14:43 MSK
На самом деле нужно просто вернуть обратно отдельный пакет. Тогда кому надо, тот и посчитает грабли.
Comment 12 Repository Robot 2013-10-29 14:45:07 MSK
cups-filters-1.0.40-alt1.1 -> sisyphus:

* Tue Oct 29 2013 Fr. Br. George <george@altlinux> 1.0.40-alt1.1
- Make serial backend root-only (Closes: #24172)