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

Как «заключить» пользователя ftp в его домашний каталог (proftpd)?

У меня есть пользователь с именем «ftp3», который принадлежит к группе «ftpusers-temp».

Дом этого пользователя - home / FTP-shared / temp

В proftpd.conf у меня есть 2 следующие директивы:

DefaultRoot /home/FTP-shared
DefaultRoot ~ ftpusers-temp

Я ожидал, что пользователь ftp3 может видеть только каталог «temp»; но происходит то, что каталог "temp" выбирается по умолчанию при входе в систему, но пользователь может вернуться и получить доступ к корню ftp-сервера.

Разве пользователь ftp3 не должен быть заключен в тюрьму в «/ home / FTP-shared / temp» и не может получить доступ к «/ home / FTP-shared»?

В DefaultRoot строка должна быть в конце файла конфигурации.

Я считаю, что проблема может заключаться в том, что у вас указано несколько DefaultRoot (ов). Как документация ProFTPd объясняет:

Если две директивы DefaultRoot применяются к одному и тому же пользователю, ProFTPD произвольно выбирает одну (в зависимости от того, как был проанализирован файл конфигурации)

Вы можете попробовать закомментировать первую директиву DefaultRoot и посмотреть, поможет ли это решить проблему.

Думаю, что лучшим вариантом в вашем случае будут пользователи тюрьмы в своих каталогах. Вы можете использовать малоизвестные %u переменная. Документация моря:

Во время обработки FTP-сеанса оно будет заменено именем пользователя, который вошел в систему.

редактировать

Это метод помещения пользователей в тюрьму в их собственном домашнем каталоге.

  • Это стандартная функция в ProFTPd
  • Откройте /etc/proftpd/proftpd.conf
  • Раскомментируйте #DefaultRoot ~
  • заменить на DefaultRoot / home / someuser someuser

(Давайте быстро объясним строку выше. DefaultRoot - это параметр, используемый proftpd для включения функциональности тюрьмы. Someuser - это основная группа всех пользователей, для которых выполняется chrooot (по умолчанию это то же самое, что и имя пользователя). / Home / someuser - это каталог где пользователь будет заключен в тюрьму.)

  • Затем выполните "/etc/init.d/proftpd restart"