Bug 11483 - Unable to add network printer
Summary: Unable to add network printer
Status: RESOLVED FIXED
Alias: None
Product: ROSA Fresh
Classification: ROSA-based products
Component: Packages from Main (show other bugs)
Version: Plasma5
Hardware: All Linux
: Normal normal
Target Milestone: ---
Assignee: ROSA Linux Bugs
URL:
Whiteboard:
Depends on:
Blocks: 11462
  Show dependency treegraph
 
Reported: 2021-09-05 16:07 MSK by Vladimir Potapov
Modified: 2021-09-13 20:21 MSK (History)
2 users (show)

See Also:
Platform: ---
ROSA Vulnerability identifier:
RPM Package:
Upstream:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Potapov 2021-09-05 16:07:27 MSK
При добавлении сетевого принтера спрашивает пароль рута.
Рут по-умолчанию отключен, добавить принтер невозможно
Comment 1 VictorR2007 2021-09-05 16:25:41 MSK
Ну на этом похоже и всё.
У нас не работает система без рута,
как у убунты.
Неплохо вообще убрать бы из анаконды этот чекбокс про отключения root.
Чтобы пользователи не нарывались на такое.
Comment 2 Mikhail Novosyolov 2021-09-05 16:29:09 MSK
Лучше уберите из KDE родной настройщик принтеров и сделайте вместо него system-config-printer, как было в KDE4. system-config-printer в rosa2021.1 давно переведен на использование polkit.
Comment 3 Mikhail Novosyolov 2021-09-05 16:30:04 MSK
(In reply to VictorR2007 from comment #1)
> Ну на этом похоже и всё.
> У нас не работает система без рута,
> как у убунты.
> Неплохо вообще убрать бы из анаконды этот чекбокс про отключения root.
> Чтобы пользователи не нарывались на такое.

Чекбокс полезный для тех, кто думает о безопасности системы. Вопрос, насколько он мешает для десктопных систем типа KDE.
Comment 4 VictorR2007 2021-09-05 16:35:50 MSK
(In reply to Mikhail Novosyolov from comment #3)
> 
> Чекбокс полезный для тех, кто думает о безопасности системы. Вопрос,
> насколько он мешает для десктопных систем типа KDE.
Совсем не мешает.
Я один раз проверил его, понял что неудобно, и больше не выбираю
такой вариант установки.
Не пробовал при установке проверить, что нахожусь в группе wheel,
но когда уже установил, sudo не смог запустить.
Не помню уже, была ли возможность с такими правами запустить dnfdragora.
Comment 5 Mikhail Novosyolov 2021-09-05 16:46:21 MSK
dnfdragora не запускается от root, она запускается от пользователя и запрашивает повышение привелегий только для операций, для которых нужен root, например, для удаления пакетов. Запрашивает через polkit, а значит по умолчанию запрашивается пароль пользователя из группы wheel, как в gparted.
Comment 6 Mikhail Novosyolov 2021-09-05 16:48:25 MSK
system-config-printer может запрашивать как пароль root, так и через polkit повышать привелегии, если установлен пакет cups-pk-helper. Может быть, здесь так же?
Comment 7 VictorR2007 2021-09-05 16:53:57 MSK
(In reply to Mikhail Novosyolov from comment #6)
> system-config-printer может запрашивать как пароль root, так и через polkit
> повышать привелегии, если установлен пакет cups-pk-helper. Может быть, здесь
> так же?

Сложно проверит.
Для проверки соберу образ с таким вариантом, 
установлю и посмотрю.
Сможет ли работать от пользователя без sudo.
А вообще, нам нужна такая система по умолчанию, без su и sudo?
А то тратить время, а она может и нафик никому не нужна.
Тебе, например, нужна?
А пакет system-config-printer и так можно проверить.
Надеюсь Володя проверит.
У меня нет принтера дома.
Comment 8 Mikhail Novosyolov 2021-09-05 16:57:13 MSK
В качестве принтера можно использовать виртуальный принтер boomaga.
Системы без root у себя не делаю.
Comment 9 Mikhail Novosyolov 2021-09-05 16:59:54 MSK
Здесь проблема в том, что для настройки принтера не очень хорошо требовать именно root, поскольку тогда на предприятии нельзя делегировать полномочия по настройке принтеров младшему системному администратору без root, но с точечно выданными правами. Точечно выдать права на принтеры можно через политики polkit или через включение пользователя в группу lpadmin. lpadmin определяет, например, тех, кто может рулить принтерами через веб-интерфейс CUPS http://localhost:631 . Может, этого и достаточно.
Comment 10 VictorR2007 2021-09-05 17:05:05 MSK
(In reply to Mikhail Novosyolov from comment #9)
> Здесь проблема в том, что для настройки принтера не очень хорошо требовать
> именно root, поскольку тогда на предприятии нельзя делегировать полномочия
> по настройке принтеров младшему системному администратору без root, но с
> точечно выданными правами. Точечно выдать права на принтеры можно через
> политики polkit или через включение пользователя в группу lpadmin. lpadmin
> определяет, например, тех, кто может рулить принтерами через веб-интерфейс
> CUPS http://localhost:631 . Может, этого и достаточно.

Ну с этим не проблема.
Добавлю пакет system-config-printer
в образ.
Но я про другое.
Будет ли system-config-printer работать на системе без sudo и su?
Или polkit вообще даже без прав sudo работает.
Comment 11 VictorR2007 2021-09-05 17:06:45 MSK
Ага, не нужно добавлять system-config-printer.
Он же и так есть в системе.
Значит Володе просто нужно его запустить и проверить,
будет ли настраивать.
Comment 12 VictorR2007 2021-09-05 17:07:57 MSK
И пакет cups-pk-helper тоже по умолчанию установлен.
Comment 13 Mikhail Novosyolov 2021-09-05 17:08:19 MSK
(In reply to VictorR2007 from comment #10)
> Будет ли system-config-printer работать на системе без sudo и su?
> Или polkit вообще даже без прав sudo работает.

Если правильно помню, у нас Anaconda не позволяет сделать так, чтобы пользователя и в wheel не было, и root не было. Возможно, это только в Никеле так, точно не помню, но вообще такая конфигурация имеет смысл для автоматизированно настраиваемых систем (например, через cloud-init, ansible).

system-config-printer в образе не знаю зачем, есть же веб-интерфейс CUPS, я его предлагал добавить вместо KDE-шнего интерфейса настроек принтеров, а не рядом с ним.

polkit к sudo не имеет отношения, просто оба настроены по умолчанию смотреть на наличие пользователя в группе wheel.
Comment 14 VictorR2007 2021-09-05 17:12:31 MSK
Ну значит нужно при установке без рута,
при создании пользователя зайти в кнопку «Дополнительно»,
ниже настроек пароля, и проследить, чтобы была группа whell.
А то походе, что после отказа от root, убирается и группа wheel.
Comment 15 VictorR2007 2021-09-05 17:24:05 MSK
Володя, а запусти для проверки значок запуска в меню
«Утилиты - Настройки принтера».
И не только на системе без рута, и и вообще на рабочей плазме.
Посмотри, может стоит убрать из образа вообще пакет kde-print-manager,
который мы видим в «Параметры системы  - Принтеры».
Или обе настройки оставим?
Comment 16 Vladimir Potapov 2021-09-07 08:54:59 MSK
(In reply to VictorR2007 from comment #14)
> Ну значит нужно при установке без рута,
> при создании пользователя зайти в кнопку «Дополнительно»,
> ниже настроек пароля, и проследить, чтобы была группа whell.
> А то походе, что после отказа от root, убирается и группа wheel.
Нет, инсталлятор все нормально создает, остальные приложения при необходимости требуют пароля именно пользователя (например кде-шный менеджер пользователей)
Comment 17 Vladimir Potapov 2021-09-07 09:02:26 MSK
(In reply to VictorR2007 from comment #15)
> Володя, а запусти для проверки значок запуска в меню
> «Утилиты - Настройки принтера».
Он типа работает, через него добавил сетевой принтер (правда драйвер hplips не подхватился и печать не пошла)

> И не только на системе без рута, и и вообще на рабочей плазме.
Но при попытке удалить отправленную на печать страницу все равно запрашивает пароль рута.


> Посмотри, может стоит убрать из образа вообще пакет kde-print-manager,
> который мы видим в «Параметры системы  - Принтеры».
> Или обе настройки оставим?
Лучше обе, чтоб из параметров системы вызвалось.
Comment 18 Vladimir Potapov 2021-09-13 13:32:03 MSK
Баг актуален, при доступе к очереди печати так и требует пароль рута.
Comment 19 Mikhail Novosyolov 2021-09-13 14:09:43 MSK
Многовато настройщиков принтеров получится, елси и кдешний, и system-config-printer будут. Так-то можно вообще веб-мордой localhost:631 пользоваться , там либо root, либо кто-то из группы ldpadmin
Comment 20 Mikhail Novosyolov 2021-09-13 14:10:25 MSK
Хотя чего я лезу в плазму :-) простите ))
Comment 21 Vladimir Potapov 2021-09-13 14:42:14 MSK
(In reply to Mikhail Novosyolov from comment #20)
> Хотя чего я лезу в плазму :-) простите ))
Спасибо. Первый пользователь, создаваемый инсталлятором, оказался без группы lpadmin, вот и запрашивало везде рута.
Comment 22 Vladimir Potapov 2021-09-13 14:45:09 MSK
(In reply to Mikhail Novosyolov from comment #20)
> Хотя чего я лезу в плазму :-) простите ))
А можно ли связать как-то lpadmin с попаданием во wheel, т.е. правами на судо, чтоб при создании в интерфейсе KDE администратора у него уже были права на принтеры?
Comment 23 Mikhail Novosyolov 2021-09-13 16:15:06 MSK
(In reply to Vladimir Potapov from comment #22)
> (In reply to Mikhail Novosyolov from comment #20)
> > Хотя чего я лезу в плазму :-) простите ))
> А можно ли связать как-то lpadmin с попаданием во wheel, т.е. правами на
> судо, чтоб при создании в интерфейсе KDE администратора у него уже были
> права на принтеры?

Можно. Либо libnss-role, либо cups научить понимать wheel:
$ sudo grep -inHr lpadmin /etc/cups
/etc/cups/cups-files.conf:19:SystemGroup lpadmin root
Comment 24 Mikhail Novosyolov 2021-09-13 16:51:34 MSK
Добавил wheel в конфиг CUPS по умолчанию: https://abf.io/import/cups/commit/8708189f6971e9634ba6c936b3397201fe89e1f6
В целом это имеет смысл и без привязки к KDE, но я бы все равно избегал авторизации не через polkit в десктопных приложениях.
Comment 25 Mikhail Novosyolov 2021-09-13 18:02:49 MSK
Fedora, кстати, тоже добавила wheel в cups:

* Tue Nov 24 2020 Zdenek Dohnal <zdohnal@redhat.com> - 1:2.3.3-20
<...>
- wheel is now in system groups by default
<...>
Comment 26 Mikhail Novosyolov 2021-09-13 20:21:10 MSK
Обновил CUPS до новой мажорной версии 2.3.3op2, принтеры лучше заново проверить, моя Kyocera печатает.