Привет знатоки, есть нетривиальная задача.
Линуксовые машины добавлены в AD , пользователи заходят и работают
для консоли настроены права через sudoers с белым списком(вроде тоже работает)
а есть ли возможность делать белый sudo список для самой GUI? к сожалению не вариант чтобы у пользователя были полные рутовые права на всё, но и с обычными правами тоже не подходит, есть какое-нибудь решение?
ОС -Mint/Ubuntu
Андрей, а мне-то откуда знать? У вас неизвестно в какой системе неизвестно каким пользователям в неизвестно каком софте вдруг с какого-то перепуга понадобились рутовые права. Тут сразу три хрустальных шара надо, никакой маны не хватит.
Adamos, хм, я же написал пользователи из AD(Active Directory) система указана ОС-Mint/Ubuntu
права рутовы- попробуйте без них добавить принтер
не понятно, что Вам не понятно из описания?
Андрей, вполне возможно, что у этих нюансов одна и та же причина.
Я с таким, увы, не сталкивался, не могу подсказать готовых рецептов, ищите сами.
Но решение не в том, чтобы каждой собаке давать рута, это уж точно.
В частности, сам недавно с принтерами так же думал (правда, для домашних компов, без AD). Вначале добавил юзера в группу wheel - работает, но это слишком жирно для юзера.
А вот правило для polkit - самый раз пришлось. Сейчас уже наверное не вспомню, где и как оно записывается, но гуглится за 5 минут.
расскажу о своём решении, оно не совсем верно с точки зрения безопасности, но она работает с AD пользователями!
Что удалось узнать и решить
1. За приложухи и права в гуях отвечает polkit и его политики, у меня в deb дистрибе Mint они хранятся тут /usr/share/polkit-1/actions
2. Сделал резервную копию всех файлов на всякий
3. Стуация как на скрине
spoiler
4.Находим файл с похожим именем, в нашем случае ищем org.opensuse.cupspkhelper.mechanism.devices-get(как на скрине), но файла именно с таким именем может не быть, в нашем случае есть файл org.opensuse.cupspkhelper.mechanism.policy заходим внутрь и видим, что там куча политик для подключений принтеров, внутри ищем нужную нам org.opensuse.cupspkhelper.mechanism.devices-get
spoiler
5. Нашли, мотаем вниз данной политики до строк как на скрине ниже и меняем значение в строке allow_anyauth_adminallow_any на yes сохраняем файл и можно сразу проверить будет ли приложение просить рутовый права(перезагружаться и перелогиниваться не надо, применяются на лету)
spoiler
После тестов с данной схемой, AD пользователи без рутовых прав могут нормально выполнять базовые вещи, по аналогии правятся и другие политики. Что из не правильного, как я понял из многочисленной документации и читки гугла, так править неверно, верно создавать новые политики в папке /usr/share/polkit-1/rules.d там создавать файлы вида 01-my_policy.rules и уже внутри писать такого вида полиси
где if (action.id == "org.opensuse.cupspkhelper.mechanism.devices-get" имя политики которой нужно дать права в переменной return polkit.Result.YES;
но я это завести так и не смог, особенно не совсем ясно как прописывать доменные группы.
И теперь настройки принтера и всякие адм действия с ним (отключение включение, и т.д.) можно делать обычным пользователем, без всяких запросов пароля совсем.
Правда, в файле org.opensuse.cupspkhelper.mechanism.policy я тоже что-то исправлял, но не помню точно, вернул обратно потом или нет.
Алексей Харченко, с локальными пользователями я так понимаю это взлетает без проблем, но у меня пользователи из AD, физически они не созданы на хосте и следовательно надо прикрутить доменную группу, с этим я думаю у меня проблемы связаны
Андрей, у меня нет опыта с AD в линуксах, точно подсказать не смогу. Но мне кажется, вопрос, где авторизовался пользователь и каким методом, не входит в область polkit, это скорее к pam - там надо смотреть.
Алексей Харченко, буду изучать эту тему, просто выше я предложил сходу рабочий вариант без "страданий" ))
Вам Алексей спасибо за вовремя подсказанное направление! )