Как настроить VSFTPD для нескольких пользователей, включая добавление определенных каталогов

Я хочу настроить vsftpd в 11.10, чтобы при подключении пользователя он отображался или перенаправлялся в определенную папку. Имя папки не связано с пользовательской или домашней папкой. Это связано с папкой в ​​/ var / www. Например:

Если пользователь cyrex регистрируется в ftp, он перенаправляется в / var / www / gamers или, по крайней мере, показывает папку gamers внутри своей домашней папки, которая перенаправляет в / var / gamers. Если пользователь camelot входит в систему по протоколу ftp, он перенаправляется в / var / www / food или, по крайней мере, показывает папку с продуктами в своей домашней папке, которая перенаправляет в / var / food....

Он не должен оставлять свою домашнюю папку и может получать доступ только к папкам внутри своей домашней папки, которые перенаправлены на другие части, такие как /var/www/FOLDERS.

ОБНОВЛЕНИЕ: в одном из способов настройки пользователь должен видеть свою домашнюю папку, а также папку, которая перенаправляет его в /var/www/UserFolder. В другом способе настройки VSFTPD пользователь должен быть просто перенаправлен в / var / www / UserFolder, даже не увидев свою домашнюю папку, только специфичную для него var / www. Могут ли оба метода отображаться в одном ответе, чтобы я мог проверить оба, чтобы увидеть, какой из них лучше.

Какой самый простой способ сделать это?

3 ответа

Решение

Вам просто нужно изменить стартовый вызов для vsftpd, user_config_dir аргумент скажет серверу искать конфигурацию в каталоге /etc/vsftpd_user_conf/luis если пользователь luis входит в систему. Аналогично любому другому пользователю, который входит в систему. Я полагаю, что если файл конфигурации не найден, сервер переключится на файл по умолчанию.

В любом случае, быстро прочитайте эту страницу руководства (к которой вы также можете получить доступ с терминала с помощью man vsftpd): http://vsftpd.beasts.org/vsftpd_conf.html

Это другое руководство может помочь вам с использованием пользовательских каталогов для вашего сервера: http://gofedora.com/how-to-configure-secure-ftp-server-vsftpd/

Из некоторых источников неясно, работает ли он с виртуальными или обычными (локальными) пользователями. Это работает и для локальных пользователей.

Мне также было непонятно, что я могу установить в пользовательском файле.

Итак, вот что вы можете сделать:

  1. отредактируйте файл конфигурации: sudo vim /etc/vsftpd.conf
  2. добавьте к нему эту строку: user_config_dir=/etc/vsftpd/user_config_dir/
  3. выйти из редактора с сохранением изменений (ESC а потом :wq в случае vim, что мы использовали выше)
  4. отредактируйте пользовательский файл, например, если пользователь alice тогда sudo vim /etc/vsftpd/user_config_dir/alice
  5. добавить в файл пользовательские настройки, например local_umask=0737
  6. выйти из редактора с сохранением изменений (см. выше)
  7. повторите последние три шага для каждого пользователя, для которого вы хотите указать какие-либо пользовательские настройки.
  8. перезапустите ftp-сервер: sudo service vsftpd restart

Примечание. В приведенном выше примере пользователь alice для создания файлов со строкой разрешения ----r-----. Это полезно, еслиaliceэто ваш сканер, который только загружает файлы на сервер. Сканер никогда не хочет читать, изменять или выполнять загруженные файлы, но другим пользователям из той же группы разрешено читать эти файлы, например копировать их для редактирования. Эти пользователи по-прежнему могут удалять загруженные файлы, если права доступа для каталога установлены правильно.

Он может работать с несколькими пользователями, но я не могу найти способ применить настройки, сделанные в отдельных файлах конфигурации пользователя в пределах назначенногоuser_config-dir.

Что я получил всего с двумя учетными записями FTP на одном сервере, например, веб-сайт @myserver.org и [email protected] , так это то, что он игнорировалlocal_rootместа, обозначенные вwebsite.confиotherstuff.confфайлы внутриuser_config_dirпапку и просто рутировали FTP-подключения к домашнему каталогу пользователя в обоих случаях. Все это, несмотря на то, что пробовал это сchroot_local_user=NOиchroot_local_user=YES.

С одним пользователем и толькоvsftpd.confфайл, необходимый для конфигурации, я могу получить root права на учетную запись FTP без проблем, скажем/var/www/html/mysite.orgпока я получаю право собственности, группу и соответствующие разрешения.

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

Что вызывает у меня подозрения, так это полное отсутствие установленного форума пользователей SFTPD, где более опытные могут помочь менее опытным.

Создать такой форум, скажем, на GitHub было бы достаточно просто. Вы могли бы подумать, что такой форум — фактически ловушка для ошибок — был бы необходим для продолжающегося проекта.

Но владельцы SFTPD, кажется, думают иначе.

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