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

Ubuntu Автоматическое создание учетной записи FTP при создании пользователя

Замечу, что я использую Rails, но это не проблема Rails.

Я не очень разбираюсь в Linux, но знаю, что использую Ubuntu 10.04 LTS на Linode.

После регистрации пользователя создается папка в моем RAILS_ROOT / public / users / [user_id] / для личного использования. Внутри этой папки находится каталог альбомов.

Как я могу, при этом эта папка создается, паролем зашифровать ее и дать им доступ по ftp. На самом ли деле это возможно? Какие проблемы безопасности с чем-то вроде этого. Я хочу заблокировать их там, и я видел, как некоторые люди говорили о vsftpd как о решении этой последней части.

Если вы установили и настроили ProFTPD тогда вы можете использовать директиву AuthUserFile, чтобы указать на альтернативный файл паролей. Этот файл может управляться вашим приложением. Вы также можете настроить ProFTPD для использования серверной части базы данных sql, которой может управлять ваше приложение.

Это настоящие учетные записи Linux или они созданы в вашем приложении?

vsftpd могут работать как с реальными учетными записями, так и с виртуальными пользователями (чтение из файла), а также «chroot» их учетные записи в определенный каталог, чтобы они не могли переходить оттуда по каталогам, но в любом случае требуется определенная конфигурация ( по умолчанию он разрешает только анонимный доступ). Независимо от того, используете ли вы реальных или виртуальных пользователей, вам необходимо включить «Локальных» пользователей. vsftpd использует PAM для всех локальных пользователей, поэтому для виртуальных пользователей вам необходимо полностью стереть и заменить /etc/pam.d/vsftpd информацией из руководства Вот. Если они являются пользователями, созданными в приложении, тогда вашему приложению потребуется доступ на запись к виртуальному файлу passwd, указанному в конфигурации PAM выше, и каждый новый пользователь имеет свое имя пользователя и соответствующий хэш своего пароля, хранящиеся в файле. .

Если вы хорошо разбираетесь в PAM и у вас установлены соответствующие пакеты, PAM имеет любое количество различных модулей, которые можно использовать для этого, может быть один, который может читать ту же таблицу базы данных, которую ваше приложение использует для выполнения поиска имени пользователя / пароля.