Я пробовал использовать vsftpd, но в результате у моего пользователя был доступ ко всей файловой системе.
Я создал группу www, изменил / var / www, чтобы он принадлежал к этой группе, а затем добавил в эту группу нового пользователя ftpuser.
Но когда я вошел в систему, пользователь получил доступ ко всему в файловой системе.
Есть ли хороший и простой ftp-сервер для Linux, который вы, ребята, порекомендуете? Мне нужно иметь возможность легко управлять разрешениями, например, какие пользователи имеют доступ к каким каталогам.
Спасибо,
-Серджио
Убедитесь, что вы настроили VSFTPd для chroot этого пользователя. Посмотрите на настройку chroot_local_user. Таким образом, у них будет доступ только к своей папке.
Ты делаешь это неправильно. Было бы гораздо лучше создать виртуальный хост в Apache, чем использовать по умолчанию / var / www. Таким образом, вы можете создать корень файловой системы vhost в / home / user / public_html. Все (большинство?) Ftp-серверы по умолчанию будут обслуживать домашний каталог пользователя при входе в систему, поэтому вам не нужно больше выполнять настройку.
Также подумайте, действительно ли ftp является лучшим вариантом. FTP небезопасен, так как по умолчанию не имеет шифрования - рассмотрите возможность использования вместо этого scp / sftp. Опять же, вам не нужно будет выполнять дополнительную настройку, потому что по умолчанию вы будете обслуживать домашний каталог пользователей. И у вас, вероятно, уже есть запущенный ssh-сервер, который предоставит вам scp.
Хороший клиент sftp / scp для Windows - это Winscp.
Я не знаю, как это сделать с VSFTPd; Фактически, я попробовал и отказался (у меня есть другие проекты).
Но у меня была похожая проблема, и я решил ее, заставив их использовать SFTP. Это можно настроить путем тщательной модификации конфигурации вашего сервера OpenSSH (/ etc / ssh / sshd_config). Найдите SFTP и "ChrootDirectory", и вы найдете несколько руководств.
Несколько ошибок: весь путь к вашему каталогу chroot jail ДОЛЖЕН принадлежать пользователю root и ДОЛЖЕН быть доступен только для чтения вашим пользователям SFTP.
Если вы хотите предоставить определенным пользователям доступ к определенным сайтам, но при этом хотите управлять ими всеми в одном месте в качестве системного администратора, подумайте о создании отдельной тюрьмы SFTP (я назвал свой / var / www / ftp, тогда как мои сайты находятся в / var / www / html), а затем жестко привязать каталоги к новому каталогу с помощью "mount --bind". Обратите внимание, что сначала вы должны создать отдельные каталоги монтирования и указать полный путь как к целевому каталогу, так и к каталогу точки монтирования.
Заключительное примечание: я понимаю, что это старый вопрос, но если бы этот ответ был здесь, когда я искал ранее на этой неделе, он сэкономил бы мне два твердых дня исследования.
Я столкнулся с той же проблемой и обнаружил эта тема отмечена как решенная, Надеюсь, поможет :)
P.S. вот этот кажется лучше.