Настройка chroot для пользователей LDAP в RHEL6

Я работаю над этим уже 2 дня и собираюсь сдаться, поэтому кто-то, пожалуйста, помогите.

У меня есть сервер Red Hat 6, подключенный к моему активному домену каталога. В обычных условиях логины работают нормально. У меня есть SSH-вход, ограниченный конкретными группами активных каталогов, используя require_membership_of = в файле / etc / security / pam_winbind.conf. Он отлично работает.

Теперь мне нужно заблокировать этих пользователей только для доступа к их домашнему каталогу (chroot) и разрешить только sftp-логины.

Я попробовал около миллиарда комбинаций редактирования файла / etc / ssh / sshd_config, но в конечном итоге пользователь не ограничивается своей домашней папкой или не может войти в систему. Нижеприведенная конфигурация работает отлично, когда я использую локальные пользователей / групп для ограничения доступа к chroot и sftp. (очевидно, я меняю группу Match group на локальную группу пользователей)

Я думаю, что проблема заключается в том, что пользователи LDAP не являются локальными пользователями, и у них нет локальных групп. Вот соответствующий раздел моего файла sshd_config

  Match group 'Domain Users' ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 

Когда я перезапускаю sshd, это дает ошибку /etc/ssh/sshd_config line 135: Bad Match condition Когда я меняю 'Domain Users' на Domain\040Users я не получаю ошибку, но пользователи LDAP не ограничиваются их домашними каталогами (chroot не работает). Я также попытался изменить ChrootDirectory %h в папку new / chroot, а также / home /% u, но оба они не работали.

Возможные решения, о которых я подумал,

  • Изменение группы пользователей по умолчанию. Пользователи LDAP являются частью (я ничего не нашел и настройки не указаны / etc / default / useradd)
  • Измените группу Match group в файле sshd_config на то, что применяется к пользователям домена. Я попробовал 'Domain Users' , « Domain\ Users , « Domain\040Users и «SID» из LDAP группы пользователей домена. Все из которых не работали или не давали ошибок при перезапуске sshd
  • При первом входе в систему система создает локальный пользователь / группу (но это может нарушить синхронизацию паролей с AD
  • Что-то еще я пропустил полностью.

У кого-нибудь есть опыт установки ограничений chroot с входами LDAP? Я в недоумении и не думаю, что я могу открыть больше вкладок в своем браузере.

Благодаря TrevorH1 в канале #centos я смог заставить это работать.

Как вы можете сопоставить группу с пробелами (в моем случае Domain Users) – использовать ? представлять пространство (стандартный шаблон оболочки оболочки). Это будет соответствовать любой группе, которая также имеет любой символ вместо пространства, но она работает для моих нужд.

Например, мой новый sshd_config выглядит так:

  Match Group domain?users ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 

Мне также важно использовать символы нижнего регистра вместо Domain? Users. Несмотря на то, что группа в LDAP имеет верхний регистр. То, как вы можете определить, какую группу вам нужно фильтровать, – это использовать id <username> Это даст вам список всех групп, частью которых является пользователь. Если у меня было несколько групп, это LDAP (например, пользователи домена, пользователи домена, домены), это соответствовало бы всем тем случаям, которые могут или не могут быть желательными.

Вы можете попробовать эту группу совпадений «пользователи домена». Это сработало для меня. Даже я использую этот более сложный синтаксис, чем вы Match Group «WORKGROUP \ domain users».