LINUX.ORG.RU
ФорумAdmin

Как добавить доменного пользователя в локальную группу?

 , , , ,


0

2

Проблема: Есть машина AstraLinux SE (Debian) с Samba (winbind), машина введена в существующий домен Windows (первый шаг миграции), на машину локально входит пользователь домена (как обычно через winbind в nsswitch.conf) принадлежащий определённой доменной группе, нужно добавить его в локальную группу, в частности в группу администраторов принтеров (lpadmin) с понятной целью. Какими способами это можно сделать?

По сути хотелось бы просто добавить доменную группу в локальную группу, но, если не ошибаюсь, Linux до сих пор не поддерживает иерархии групп.

Или может есть способ реагировать на аутентификацию такого пользователя и каким-то скриптом добавлять его в группу (хоть usermod’ом)? Вручную не хотелось бы.

Или как-то на лету мэппировать доменную группу в локальную?

Заранее благодарен за любые идеи.

Ответ на: комментарий от bigbit

man pam_group

Это слишком неинформативно. 😎 Вот как надо:

Нужно ещё прочитать man group.conf, слегка почесать репу, потому что раньше этот модуль нужен был для логина по группе, а теперь его функционал изменился, и он только добавляет группы к пользователю и больше ничего.

Отредактировать файл /etc/security/group.conf добавив строку вида, отдавая себе отчёт, что «Al» - это «а» и «л», а не «а» и «один»:

*;*;%domain users;Al0000-2400;lpadmin

Потом убедится, что это не работает. 🤔

Прочитать man pam и изучить содержимое каталога /etc/pam.d/. Суметь понять, что PAM-файлы теперь инклюдяд друг друга и там наверное где-то не хватает строки:

auth optional pam_group.so

Добавить её в /etc/pam.d/common-auth.

Порадоваться, что вроде заработало, но недолго. Файл оказывается переписанным и строка удалённой. 😣

Прочитать man pam-auth-update, понять, как надо делать, чтобы строка не стиралась.

Добавить новый файл в каталог /usr/share/pam_configs со следующим содержимым:

Name: Please use /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth: optional pam_group.so

Сгенерировать конфигурацию PAM правильно, с помощью утилиты pam-auth-update.

Порадоваться по настоящему, но недолго.

Пользователь получает группу «lpadmin», но стоит ему сделать sudo su как эта группа отваливается, а получившийся пользователь не получает всех групп рута, и в результате рут - это не рут. 😢 А зачем делать sudo? Так группы «lpadmin» недостаточно, чтобы настроить принтеры вопреки утверждению самой программы конфигурации принтеров (fly-admin-printer) и гайдам Астры. А под обычным пользователем программа не может подключиться к CUPS («доступ запрещён»). 😭

raspopov
() автор топика
Последнее исправление: raspopov (всего исправлений: 2)
Ответ на: комментарий от raspopov

Спасибо, интересно.

Особенно про pam-auth-update - в редхате такого нет.

Насчет рута - можно ведь в /etc/security/group.conf добавить правило, чтобы рут тоже эту группу получал (если я правильно понял проблему).

bigbit ★★★★★
()
Ответ на: комментарий от raspopov

Мелкая придирка. Не про PAM, в котором ничего почти не понимаю. А про sudo: зачем писать sudo su, если у sudo с незапамятных времён есть опция -i?

По буквам одинаково, но мне всегда кажется, что sudo su выглядит очень костыльно.

emorozov
()
Ответ на: комментарий от bigbit

чтобы рут тоже эту группу получал

Вот это непонятный пока момент, рут и так член этой группы, жёстко в /etc/groups. У меня есть гипотеза, что это как-то связано с наслоением доменных и локальных пользователей друг на друга (давным давно админы посчитали крутым переименовать администратора домена Windows в «Root»).

зачем писать sudo su

Это же заклинание, как «трах-тибидох», нельзя же его на половине обрубать.

raspopov
() автор топика
Ответ на: комментарий от raspopov

А какой UID у этого «рута»?

Можно попробовать отфильтровать этого пользователя. SSSD, например, игнорирует рута по дефолту, т.е. если кто-то создаст пользоватлея root в AD, то он не получит рутовых прав. У winbind наверняка такой механизм должен быть, или через ldap_filter.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Можно попробовать отфильтровать этого пользователя

Оказывается эта проблема решается довольно просто - не надо её создавать, т.е. не надо добавлять параметр winbind use default domain = yes (по умолчанию там «no») в smb.conf, как это автоматически сделал скрипт astra-winbind, который предлагается одним из официальных способов ввода машины в домен от Астры.

raspopov
() автор топика
18 июля 2023 г.
Ответ на: комментарий от raspopov

чтобы CUPS не ругался надо отредактировать файл /etc/cups/cups-files.conf добавив имя пользователя в строку:

SystemGroup lpadmin имя_пользователя

если пробовать добавить группу, то служба cups перестает запускаться. другого костыля не нашел.

smookey
()