Proftpd отличается chroot для конкретной группы LDAP

Я аутентифицирую ProFTPD (с mod_sftp) экземпляр с сервером LDAP. Я хочу иметь следующую настройку:

Chroot для всех пользователей, чтобы /home/ftp, (Это работает).

Теперь я хочу привязать определенные группы LDAP к другой папке /home/ftp, Например, пользователи, находящиеся в группе "внешние" LDAP, должны видеть только /home/ftp/external и пользователи не в этой группе должны видеть /home/ftp,

Все загруженные файлы должны принадлежать одному пользователю Linux.

мой ldap.conf является

<IfModule mod_ldap.c>
LDAPServer ldap://localhost:389/??sub

LDAPDefaultUID 2004
LDAPDefaultGID 2004
LDAPForceDefaultGID on
LDAPForceDefaultUID on

LDAPGenerateHomedir on
LDAPGenerateHomedirPrefix /home/ftp
LDAPGenerateHomedirPrefixNoUsername on

CreateHome off

LDAPBindDN "cn=admin,dc=example,dc=com" password
LDAPUsers ou=Users,DC=example,DC=com (uid=%u)
</IfModule>

и в моем proftpd.conf Я использую:

DefaultRoot         /home/ftp

Я на самом деле не имею ни малейшего понятия, как действовать здесь или как его структурировать... Я могу немного изменить настройки и, возможно, создать небольшое количество пользователей Linux или группы Linux, но я скорее не в состоянии чтобы изменить сервер LDAP (это Active Directory, к которому у меня нет доступа), поэтому желательно, чтобы в ProFTPD все настраивалось.

Бонусом было бы, если бы структура каталогов могла быть настроена в AD, хотя (возможно, с домашним каталогом?), Чтобы мне не приходилось менять конфигурацию ProFTPD для каждой "специальной" группы.

Любой совет будет высоко ценится:)

Спасибо!

1 ответ

ProFTPD-х DefaultRoot директива может принимать необязательное групповое выражение, которое говорит, применять ли DefaultRoot для этого пользователя (на основе их членства в группе), или нет.

Например, вы можете использовать:

DefaultRoot /home/ftp/external external
DefaultRoot /home/ftp

Первый DefaultRoot говорит пользователю chroot /home/ftp/external если они являются членами группы "внешние". В противном случае ничего не делать. Второй / финал DefaultRoot это правило "поймать все", для того, чтобы все пользователи /home/ftp, Первое совпадение DefaultRoot Директива найдена, в порядке, определенном в файле конфигурации, побеждает.

Обратите внимание, что членство в группах ваших пользователей также предоставляется mod_ldap Вам также может понадобиться LDAPGroups Директива в вашей конфигурации.

Надеюсь это поможет!

Другие вопросы по тегам