Как запретить или отклонить команды FTP для какого-либо пользователя на proftpd?

Там работает FTP-сервер (proftpd) на Centos 6.5, Auth mech это AUTH_FILE и ROOT по умолчанию это /var/ftp all Пользователь должен поместить файлы в этот каталог, но только 2 пользователя должны получить или перечислить эти файлы. Можно ли запретить некоторые команды FTP для нескольких пользователей?

Мой proftpd Config выглядит так:

DefaultRoot                     /var/ftp/
AuthPAMConfig                   proftpd
AuthOrder                       mod_auth_file.c  mod_auth_unix.c
RequireValidShell  off
AuthUserFile  /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthPAM off
RequireValidShell off

Содержание /etc/proftpd/ftpd.group:

ftp_group:x:50:user1

И файл пользователя /etc/proftpd/ftpd.passwd выглядит так:

user1:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false
user2:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false
user3:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false

Пользователь1 должен быть пользователем, который не может получить или вывести список файлов на FTP-сервере. Является ли это возможным?

1 ответ

Решение

В связи с этой документацией (в разделе примеров) я использую команду LIMIT для отклонения команд FTP. Следующее было добавлено в proftpd.conf:

<Directory /var/ftp>
 <Limit ALL>
      DenyAll
 </Limit>

 <Limit DIRS READ>
    AllowUser user1
    AllowUser user2
    DenyAll
 </Limit>
</Directory>

Пользователь3 может использовать команду LIST (ls) но proftpd отклоняет команду и возвращает пустой результат, и другой пользователь (пользователь1 и пользователь2) может использовать эти команды.

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