Пользователи и каталоги VSFTP

Я застрял. Я работал весь день, пытаясь выяснить, что я делаю неправильно, и я ударил стену за стеной.

Что я пытаюсь сделать: настроить FTP таким образом, чтобы определенные пользователи имели доступ только к своим каталогам, а пользователи более высокого уровня - ко всем каталогам.

То, что я до сих пор гуглил: я начал с этого, но это не помогло. Затем я использовал это, но как только я создал одного пользователя, он не позволил бы мне создать другого. Наконец, я решил последовать этому примеру, но он не позволил бы мне даже создать одного пользователя.

Я использую Ubuntu 10. Я могу войти в ftp как пользователь root, и он переходит в домашний каталог. Если я пытаюсь войти в систему, используя пользователя, которого я создал в учебнике, он говорит:

Status: Connection established, waiting for welcome message...
Response:   220 (vsFTPd 2.2.2)
Command:    USER mathew
Response:   331 Please specify the password.
Command:    PASS ****
Response:   530 Login incorrect.
Error:  Critical error
Error:  Could not connect to server

РЕДАКТИРОВАТЬ: У меня все еще есть проблемы с пониманием CHROOT с FTP. Каждый учебник, который я читаю, выглядит совершенно по-другому и заставляет меня делать разные вещи. Каждый урок, который я читаю на VSFTP, заставляет меня делать разные вещи. Я думал, что с использованием Linux будет проще конфигурировать и настраивать, но до сих пор я борюсь с чем-то, что должно быть простым. Легче настроить весь стек LAMP, чем FTP. Вздох Извините за напыщенную речь.

2 ответа

Решение

Итак, чтобы ответить на мой собственный вопрос ... Я использовал более простое приложение FTP. http://www.flynsarmy.com/2010/11/lazy-mans-guide-to-chroot-jailed-ftp/

Быстро, грязно. Это не SFTP или FTPS или FTP через SSH-туннель, но это то, о чем я просил, и это работает очень хорошо.

Если у вас нет очень конкретной причины, не используйте ftp, Это небезопасно и ограничено.

Для дополнительной информации.

Если вы все еще хотите продолжить, информация, которую вы ищете, называется "chroot" и очень возможна, но вы, вероятно, не найдете ее в документации по ftp. Начните с этого в Google: chroot an FTP user

Если бы вы должны были переключиться на ssh где вы можете использовать sftpвы можете настроить среду chroot примерно за 5 минут, если вы знаете, что должно произойти. Читай дальше, чтобы узнать больше!

Приведенная ниже информация взята с http://www.debian-administration.org/articles/590

подсистема sftp internal-sftp

Вам необходимо настроить OpenSSH для использования его внутренней подсистемы SFTP. Это должно быть в /etc/ssh/sshd_config

Subsystem sftp internal-sftp

sshd_config

Среда Chroot должна быть указана в сегменте Match.

Матч группы sftponly
     ChrootDirectory /home/%u
     X11Пересылка нет
     AllowTcpForwarding нет
     ForceCommand internal-sftp

Обратите внимание на ChrootDirectory был указан, а также ForceCommand,

Примечание о разрешениях

Домашний каталог пользователя ДОЛЖЕН БЫТЬ СОЗДАН ПО ROOT! Это не обязательно. Кроме того, он НЕ ДОЛЖЕН быть доступным для записи любому пользователю, КРОМЕ корневого каталога. Домашний каталог и ВСЕ родительские каталоги имеют те же ограничения.

drwxr-xr-x 21 корень корень 4096 1 января 12:51 /
drwxr-xr-x 16 root   root   4096 15 января 14:26 /home
drwxr-xr-x  3 root   root   4096 15 января 14:27 /home/chroot
drwxrwxrwx  2 chroot chroot 4096 15 января 14:27 /home/chroot/ загрузить

Обратите внимание на разрешения для домашнего каталога пользователя (/home/chroot) не доступны для записи даже владельцу (учетная запись с именем chroot). Я создал каталог загрузки, который позволяет модификацию в качестве примера. В этой настройке пользователь chroot НЕ имеет права на запись в свой домашний каталог. Это сделано намеренно и требуется для chroot sftp. Опять же, все родительские каталоги должны иметь одинаковые разрешения.

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