Рейтинг:1

Как скрыть папки и файлы вне дома пользователя ftp

флаг ve

у меня такая же проблема как и в этой теме

https://serverfault.com/questions/576143/how-to-hide-folders-for-ftp-user-jailed-to-user-home

но это решение не работает для меня.

Мои шаги: добавленный пользователь

пользовательдобавить пользователя

Добавлен пароль пользователю

пароль пользователя

Измененный пользователь

sudo usermod -d /var/www/html/someftpuser -m -s /bin/bash someftpuser

установил vsftpd и изменил конфигурацию, как указано выше:

# Пример файла конфигурации /etc/vsftpd.conf
#
# Настройки по умолчанию, скомпилированные в настройках, довольно параноидальные. Этот образец файла
# немного ослабляем ситуацию, чтобы сделать демон ftp более удобным в использовании.
# Пожалуйста, смотрите vsftpd.conf.5 для всех скомпилированных значений по умолчанию.
#
# ПРОЧИТАЙТЕ ЭТО: Этот пример файла НЕ является исчерпывающим списком опций vsftpd.
# Прочтите справочную страницу vsftpd.conf.5, чтобы получить полное представление о vsftpd.
# возможности.
#
#
# Запускать автономно? vsftpd может работать как из inetd, так и отдельно
# демон запущен из сценария инициализации.
слушать = НЕТ
#
# Эта директива включает прослушивание сокетов IPv6. По умолчанию прослушивание
# на IPv6 "любой" адрес (::) будет принимать соединения с обоих IPv6
# и клиенты IPv4. Нет необходимости прослушивать *оба* IPv4 и IPv6.
# Розетки. Если вы этого хотите (возможно, потому, что хотите слушать определенные
# адресов) то необходимо запустить две копии vsftpd с двумя конфигурациями
# файлы.
listen_ipv6 = ДА
#
# Разрешить анонимный FTP? (Отключено по умолчанию).
анонимный_включить = НЕТ
#
# Раскомментируйте это, чтобы разрешить вход локальным пользователям.
local_enable = ДА
#
# Раскомментируйте это, чтобы включить любую форму команды записи FTP.
write_enable = ДА
#
# Маска по умолчанию для локальных пользователей 077. Вы можете изменить ее на 022,
# если ваши пользователи этого ожидают (022 используется большинством других ftpd)
local_umask=022
#
# Раскомментируйте это, чтобы разрешить анонимному пользователю FTP загружать файлы. Это только
# имеет эффект, если вышеуказанное глобальное разрешение записи активировано. Кроме того, вы будете
# Очевидно, необходимо создать каталог, доступный для записи пользователю FTP.
#anon_upload_enable=ДА
#
# Раскомментируйте это, если вы хотите, чтобы анонимный пользователь FTP мог создавать
# новые каталоги.
#anon_mkdir_write_enable=ДА
#
# Активировать сообщения каталога - сообщения, отправляемые удаленным пользователям, когда они
# перейти в определенный каталог.
dirmessage_enable = ДА
#
# Если включено, vsftpd будет отображать списки каталогов со временем
# в вашем часовом поясе. По умолчанию отображается GMT.
# число, возвращаемое командой MDTM FTP, также зависит от этого
# вариант.
use_localtime = ДА
#
# Активировать ведение журнала загрузок/загрузок.
xferlog_enable = ДА
#
# Убедитесь, что соединения передачи PORT исходят из порта 20 (ftp-данные).
connect_from_port_20=ДА
#
# Если вы хотите, вы можете сделать так, чтобы загруженные анонимные файлы принадлежали
# другой пользователь. Запись! Использование «root» для загруженных файлов не
# рекомендуемые!
#chown_uploads=ДА
#chown_username=кто угодно
#
# Вы можете переопределить, куда идет файл журнала, если хотите. По умолчанию показано
# ниже.
#xferlog_file=/var/log/vsftpd.log
#
# Если вы хотите, вы можете иметь файл журнала в стандартном формате ftpd xferlog.
# Обратите внимание, что в данном случае расположение файла журнала по умолчанию — /var/log/xferlog.
#xferlog_std_format=ДА
#
# Вы можете изменить значение по умолчанию для тайм-аута бездействующего сеанса.
#idle_session_timeout=600
#
# Вы можете изменить значение по умолчанию для тайм-аута соединения для передачи данных.
#data_connection_timeout=120
#
# Рекомендуется определить в вашей системе уникального пользователя,
# FTP-сервер можно использовать как полностью изолированный и непривилегированный пользователь.
#nopriv_user=ftpsecure
#
# Включите это, и сервер будет распознавать асинхронные запросы ABOR. Нет
# рекомендуется для безопасности (код нетривиален). Не включив его,
# однако это может сбить с толку старые FTP-клиенты.
#async_abor_enable=ДА
#
# По умолчанию сервер делает вид, что разрешает режим ASCII, но на самом деле игнорирует
# запрос. Включите следующие параметры, чтобы сервер действительно выполнял ASCII.
# изменение файлов в режиме ASCII.
# Имейте в виду, что на некоторых FTP-серверах поддержка ASCII допускает отказ в обслуживании
# атака (DoS) через команду "SIZE /big/file" в режиме ASCII. vsftpd
# предсказал эту атаку и всегда был в безопасности, сообщая о размере
# необработанный файл.
# Искажение ASCII - ужасная особенность протокола.
#ascii_upload_enable=ДА
#ascii_download_enable=ДА
#
# Вы можете полностью настроить строку баннера входа:
#ftpd_banner=Добро пожаловать в службу FTP.
#
# Вы можете указать файл запрещенных анонимных адресов электронной почты. По всей видимости
# полезно для борьбы с некоторыми DoS-атаками.
#deny_email_enable=ДА
# (по умолчанию следует)
#banned_email_file=/etc/vsftpd.banned_emails
#
# Вы можете ограничить локальных пользователей их домашними каталогами. См. FAQ для
# возможные риски в этом перед использованием chroot_local_user или
# chroot_list_enable ниже.
chroot_local_user = НЕТ
#
# Вы можете указать явный список локальных пользователей для chroot() их дома
# каталог. Если для chroot_local_user установлено значение YES, этот список становится списком
# пользователям НЕ выполнять chroot().
# (Внимание! Использование chroot может быть очень опасным. При использовании chroot убедитесь, что
# у пользователя нет прав на запись в каталог верхнего уровня внутри

chroot_list_file=/etc/vsftpd.chroot_list
#
# Вы можете активировать опцию "-R" для встроенного ls. Это отключено
# по умолчанию, чтобы удаленные пользователи не могли вызывать чрезмерный ввод-вывод на больших
# места. Однако некоторые сломанные FTP-клиенты, такие как «ncftp» и «mirror», предполагают
# наличие опции "-R", так что есть веские основания для ее включения.
#ls_recurse_enable=ДА
#
# Настройка
#
# Некоторые настройки vsftpd не соответствуют структуре файловой системы
# По умолчанию.
#
# Эта опция должна быть именем каталога, который пуст. Так же
# каталог не должен быть доступен для записи пользователем ftp. Этот каталог используется
# в качестве безопасной тюрьмы chroot() иногда vsftpd не требует файловой системы
# доступ.
secure_chroot_dir=/var/run/vsftpd/пусто
#
# Эта строка является именем службы PAM, которую будет использовать vsftpd.
pam_service_name = vsftpd
#
# Эта опция указывает расположение сертификата RSA, используемого для SSL
# зашифрованные соединения.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable = НЕТ

#
# Раскомментируйте это, чтобы указать, что vsftpd использует файловую систему utf8.
#utf8_filesystem=ДА

Создал файл с chrooted пользователями:

нано /etc/vsftpd.chroot_list  

только с содержимым имени пользователя

какой-то пользователь

Перезапущен vsftpd

sudo /etc/init.d/vsftpd перезапустить

Зарегистрирован как someftpuser на ftp-клиенте (filezilla)

эффект -> пользователь someftpuser может видеть файлы в других каталогах и загружать их. Как заблокировать пользователя, идущего выше в структуре каталогов, и запретить видеть что-либо, кроме его домашнего каталога?

/var/www/html/someftpuser

Сервер: Debian 11, apache2

Ответить или комментировать

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