Я аутентифицирую ProFTPD (с mod_sftp
) с сервером LDAP. Я хочу иметь следующую настройку:
Chroot для всех пользователей /home/ftp
. (Это работает).
Теперь я хотел бы chroot определенные группы LDAP в другую папку в /home/ftp
. Например, пользователи из группы LDAP "external" должны видеть только /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 для каждой «специальной» группы.
Любой совет будет очень признателен :)
Спасибо!
ProFTPD's DefaultRoot
директива может принимать необязательный групповое выражение, который говорит, следует ли применять DefaultRoot
этому пользователю (в зависимости от его членства в группе) или нет.
Например, вы можете использовать:
DefaultRoot /home/ftp/external external
DefaultRoot /home/ftp
Первый DefaultRoot
говорит пользователям chroot /home/ftp/external
если они являются членами группы «внешняя». В противном случае ничего не делайте. Второй / финал DefaultRoot
это правило «поймать всех», позволяющее исключить всех пользователей /home/ftp
. Первое совпадение DefaultRoot
найденная директива в порядке, определенном в файле конфигурации, выигрывает.
Обратите внимание, что членство в группах ваших пользователей также предоставляется mod_ldap
, вам также может потребоваться LDAPGroups
в вашей конфигурации.
Надеюсь это поможет!