Мы хотим установить FTP-демон на нашем сервере Ubuntu 10.04, который может использовать простой (возможно, пользовательский) веб-интерфейс для FTP-сервера, использующего MySQL для аутентификации.
Он будет общедоступным, но предназначен только для нескольких клиентов или клиентов.
Я знаю vsftpd, ProFTPd и Pure-FTPd, но не уверен, что лучше для этого приложения.
Основные характеристики, которые нам бы хотелось:
Для 2 мы ищем что-то настолько простое, как, по сути, пользователь A получает доступ к папке A, а пользователь B получает доступ к папке B. Если бы userC мог иметь доступ к folderA, folderB и folderC, это было бы здорово.
Все остальное будет просто посыпать сверху.
Я бы посоветовал вам использовать vsftpd по двум причинам:
Для аутентификации vsftpd использует PAM. Выдержка из FAQ:
Q) Help! Will vsftpd authenticate against an LDAP server? What about a
MySQL server?
A) Yes. vsftpd uses PAM for authentication, so you need to configure PAM
to use pam_ldap or pam_mysql modules. This may involve installing the PAM
modules and then editing the PAM config file (perhaps /etc/pam.d/vsftpd).
Как настроить аутентификацию pam_mysql, вероятно, лучше всего спросить и объяснить в отдельном вопросе.
О разрешениях: vsftpd может chroot пользователей в их "дом" (который также настраивается с помощью PAM). Вы должны иметь возможность использовать жесткие ссылки (или, может быть, также символические ссылки?), Чтобы связать все каталоги, к которым у них должен быть доступ, внутри своего домашнего каталога.
я счастливый пользователь pureftpd, к сожалению, решает только проблема # 1 с использованием mysql. для второго вы можете попробовать проявить творческий подход с разрешениями группы или жесткими / символическими ссылками.
Я не уверен, что это сработает, но, учитывая, что вы будете предоставлять своим пользователям виртуальные дома, вы можете попытаться, например, создать каталог groupC внутри groupC, вы создадите дом для A и B, а папка groupC будет пользователем C дома, который позволит ему получить доступ ...
Глядя на этот учебник для ubuntu, кажется, что с помощью proftpd можно добиться желаемого: http://www.howtoforge.com/virtual-hosting-with-proftpd-and-mysql-ubuntu-8.04
Поскольку вы можете назначить пользователей одной и той же группой, это может позволить вам также использовать файлы, я не уверен, поскольку никогда не делал этого, но стоит попробовать.
GL;)