Пользователи и каталоги 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. Опять же, все родительские каталоги должны иметь одинаковые разрешения.