Как запретить или отклонить команды 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) может использовать эти команды.