|
При настройке сервера печати с аутентификацией PAM окошко аутентификации администратора печати вылазит, мягко говоря, очень часто. В том числе при попытке распечатать документ. Хотя в режиме ALD можно спокойно печатать без прав админа печати. Как это окошко аутентификации убрать? Или где-то прав на принтер надо накидать? окошко аутентификации
|
|||
Первое. Тащем-то после аутентификации в ALD вы получаете билет Kerberos, который используется в качестве "пароля" далее. При использовании PAM аналогичного "билета" нет и приходится вводить пароль. Второе. Вводить в группу не пробовали? – Администрация С группой lpadmin только, но это даёт все права по управлению принтерами, а так нельзя же. – Виталий Тогда только молитва и пост. Либо пилить свою группу и sudo NOPASSWD на конкретную команду. – Администрация Виталий, получилось чего? – Администрация |
Лучший ответ
Для разработчиков Чтоб при обращении к привилегированным действиям Cups постоянно не вводить логин/пасс админа печати, их можно сохранить в конфиг, затем определить коллбэк-функцию, которая будет вызываться при запросе аутентификации. Она то и заменит нам это окошко. cupsSetUser («print_admin»); auto cb2 = [](const char *prompt, http_t *http, const char *method, cupsSetPasswordCB2(cb2, nullptr); Выполнить сразу после коннекта к серверу печати. Для написания гуя для markjob подход выше не работает. Я создал на клиентской машине пользователя-заглушку с логином админа печати и выполняю sudo -u print_admin markjob. В этом случае окошко ввода не появляется, а идёт вывод запроса пароля в stdout типа Введите пароль для print_admin. Если бы делали без sudo, то пользователем для ввода пароля был владелец процесса, а это нам не надо. Ну, а дальше пишем в stdin и парсим. Чтобы разрешить создавать задачи на печать. Сам же принтер у меня с политикой parsec, следовательно идём в /etc/cups/cupsd.conf, ищем <Policy parsec>… <Limit Create-Job Print-Job…> и коментим AuthType Default. Перезапускам сервис. С другими Limit’ами тоже нужно поиграться, в плане комментирования AuthType Default
|
||||