Я аутентифицирую экземпляр ProFTPD (с mod_sftp
) с сервером LDAP. Я хочу иметь следующую настройку:
chroot для всех пользователей в / home / ftp
. (Это работает.)
Теперь я хотел бы chroot для определенных групп LDAP в другую папку в / home / ftp
. Например, пользователи из группы LDAP "external" должны видеть только / home / ftp / external
, а пользователи, не входящие в эту группу, должны видеть / home / ftp
.
Все загруженные файлы должны принадлежать одному пользователю Linux. Я могу немного изменить настройку и, возможно, создать небольшое количество пользователей Linux или группу Linux, но я не могу изменить сервер LDAP (это Active Directory, к которому у меня нет доступа) , поэтому желательно, чтобы все было настраиваемым в ProFTPD.
Бонусом было бы, если бы структуру каталогов можно было настроить в AD (может быть, с домашним каталогом?), чтобы мне не пришлось изменять конфигурацию ProFTPD для каждая "особая" группа.
Мы будем очень благодарны за любой совет :)
Спасибо!
Директива ProFTPD DefaultRoot
может принимать необязательное групповое выражение , которое сообщает, применять ли DefaultRoot
к этому пользователю (на основе от их членства в группе) или нет.
Например, вы можете использовать:
DefaultRoot /home/ftp/external external
DefaultRoot /home/ftp
Первый DefaultRoot
сообщает пользователям chroot на / home / ftp / external
if они являются членами группы «внешние». В противном случае ничего не делайте. Второй / последний DefaultRoot
- это правило «перехвата всех» для переключения всех пользователей в / home / ftp
. Первая соответствующая директива DefaultRoot
, найденная в порядке, определенном в файле конфигурации, побеждает.
Обратите внимание, что для того, чтобы членство ваших пользователей в группах также предоставлялось с помощью mod_ldap
, вы также можете необходимо использовать директиву LDAPGroups
в вашей конфигурации.
Надеюсь, это поможет!