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
Директива в вашей конфигурации.
Надеюсь это поможет!