Поиск Winbind группы болезненно медленно

Я запускаю winbind на системе RHEL 6. Все работает нормально, кроме группового поиска, так много команд (включая sudo) мучительно медленно. Я сделал strace, который показывает, что winbind ищет каждую группу и каждого пользователя в каждой группе для текущего пользователя. Некоторые из этих групп имеют 20000 + пользователей так просто sudo может занять 60 секунд.

мне только интересно, ускоряя команды sudo. Идеальные решения сделали бы это так либо:

  1. группы с количеством пользователей более X не будут просматриваться, или
  2. sudo обходит поиск группы в целом.

вот мой текущий " smb.конф" для winbind:

workgroup = EXAMPLE
password server = AD1.EXAMPLE.ORG
realm = EXAMPLE.ORG
security = ads
idmap uid = 10000-19999
idmap gid = 10000-19999
idmap config EXAMPLE:backend = rid
idmap config EXAMPLE:range = 10000000-19999999
winbind enum users = no
winbind enum groups = no
winbind separator = +
template homedir = /home/%U
template shell = /bin/bash
winbind use default domain = yes
winbind offline logon = false
13
задан Dejan
19.03.2023 21:01 Количество просмотров материала 2704
Распечатать страницу

4 ответа

У меня была такая же проблема после обновления sudo и узнал из Red Hat, что sudo изменил алгоритм разрешения членства в группах при переходе с sudo-1.7.4p5-13.el6_3.x86_64 на судо-1.8.6p3-7.el6.архитектуру x86_64. В sudo-1.7.4 членство в группах было разрешено для всех групп, перечисленных в /etc / sudoers, и если имя пользователя было найдено в списке, ему были предоставлены привилегии sudo. В sudo-1.8.6 это было изменено, чтобы быть наоборот-sudo извлек список групп, в которых пользователь является членом, затем проверил, были ли какие-либо из этих групп перечислены в sudoers.

Это приводит к getgrgid () для каждой группы, членом которой является пользователь, поэтому, если некоторые группы большие, это будет довольно медленно. Вы можете либо понизить sudo, либо поместить большие группы в качестве пустых групп в локальный файл /etc/group, чтобы AD не связывался с ними (при условии, что система Linux не ссылается на большие группы для управления доступом).

1
отвечен Rusty 2023-03-21 04:49

старый метод (т. е. 1.7.x) может быть отменено плагинами группы:

Defaults group_plugin="system_group.so"

как вариант просто использовать /etc/group только (нет смысл поиска и т. д.):

Defaults group_plugin="group_file.so /etc/group"
1
отвечен Maciej Piechotka 2023-03-21 07:06

отключить вложенные группы winbind nested groups = false

0
отвечен Dejan 2023-03-21 09:23

или просто добавьте "winbind expand groups = 0" в /etc/samba/smb.cnf-файл (затем переключитесь на локальную учетную запись root и " / etc / init.D / winbind stop;/etc / init.д/Самба перезапуск; /и т. д./init.d / winbind start")

первый судо после перезагрузки может занять некоторое время (но не будет патоки, как вы переживаете), и конечно, последующий будет как надо (быстро); для кого-то, вы могли бы просто использовать локальную учетную запись администратора для судо команды (как вы вынуждены создать локальную учетную запись, да?)

-2
отвечен hunter3740 2023-03-21 11:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх