На Centos 6.5 работает FTP-сервер (proftpd), механизм аутентификации - AUTH_FILE, а корень по умолчанию - / var / ftp. Все пользователи должны помещать файлы в этот каталог, но только 2 пользователя должны получать или перечислять эти файлы. Можно ли запретить некоторые команды FTP для нескольких пользователей?
Моя конфигурация proftpd выглядит так:
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
User1 должен быть пользователем, который не может получить или перечислить файлы на FTP-сервере. Является ли это возможным?
Связанный с этим Документация (В разделе примеров) я использую команду LIMIT, чтобы отклонить команды FTP. В proftpd.conf было добавлено следующее:
<Directory /var/ftp>
<Limit ALL>
DenyAll
</Limit>
<Limit DIRS READ>
AllowUser user1
AllowUser user2
DenyAll
</Limit>
</Directory>
Пользователь 3 может использовать команду СПИСОК (ls
), но proftpd отклоняет команду и возвращает пустой результат, а другой пользователь (User1 и User2) может использовать эти команды.