Назад | Перейти на главную страницу

Можно ли поставить условие в директиве ChrootDirectory Match Group в конфигурации SFTP?

Я использую SFTP с активным каталогом. После аутентификации пользователей я перенаправляю всех пользователей в один каталог, который upload2. Но теперь я хочу перенаправить некоторых пользователей в один каталог, а некоторых пользователей в другой каталог с помощью директивы ChrootDirectory. Насколько мне известно, в ChrootDirectory мы можем использовать только %h и %u параметры. Можно ли указать условие в директиве ChrootDirectory или в дополнительных параметрах?

AllowGroups     *
UsePAM yes

Subsystem      sftp     internal-sftp

Match Group sftp-users
        ChrootDirectory /upload2
        AllowTcpForwarding no

Вы не можете использовать условие в ChrootDirectory директива. Но Match Директива разрешает условия, вот для чего она нужна.

Поместите одних пользователей в одну группу, а других - в другую. И введите правило для каждой группы с отдельной папкой:

Match Group sftp-users1
    ChrootDirectory /upload1

Match Group sftp-users2
    ChrootDirectory /upload2

Или, если это невозможно, явно укажите пользователей в каждом правиле:

Match User user1,user2,user3
    ChrootDirectory /upload1

Match User user4,user5,user6
    ChrootDirectory /upload2