При настройке сервера печати с аутентификацией PAM окошко аутентификации администратора печати вылазит, мягко говоря, очень часто. В том числе при попытке распечатать документ. Хотя в режиме ALD можно спокойно печатать без прав админа печати.
Как это окошко аутентификации убрать? Или где-то прав на принтер надо накидать?
окошко аутентификации
С группой lpadmin только, но это даёт все права по управлению принтерами, а так нельзя же.
Тогда только молитва и пост. Либо пилить свою группу и sudo NOPASSWD на конкретную команду.
Виталий, получилось чего?
Для разработчиков
Чтоб при обращении к привилегированным действиям Cups постоянно не вводить логин/пасс админа печати, их можно сохранить в конфиг, затем определить коллбэк-функцию, которая будет вызываться при запросе аутентификации. Она то и заменит нам это окошко.
cupsSetUser( «print_admin» );
auto cb2 = [](const char *prompt, http_t *http, const char *method,
const char *resource, void *user_data)
{
const char* pwd = …; //из конфига
return pwd;
};
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
Первое. Тащем-то после аутентификации в ALD вы получаете билет Kerberos, который используется в качестве «пароля» далее. При использовании PAM аналогичного «билета» нет и приходится вводить пароль. Второе. Вводить в группу не пробовали?