Настроить vsftpd легко
Если я запускаю эту конфигурацию:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Затем я получаю сообщение об ошибке:
500 OOPS: vsftpd: отказываясь запустить с доступным для записи корнем внутри chroot ()
blockquote>Однако, если я добавлю в
allow_writeable_chroot=YES
как предложено здесь , то он просто не сможет подключиться:Попытка подключения не удалась с помощью «ECONNREFUSED - Соединение отклонено сервером»
blockquote>Однако, если я удалю только что добавленную строку и выполню
sudo chmod a-w
в домашнем каталоге пользователей, они теперь могут подключиться, но служба бессмысленна, поскольку они ничего не могут загрузить.Есть ли способ ограничить пользователей только их домашним каталогом И иметь возможность подключаться и писать в их домашний каталог? Отключить
chroot_local_user
не вариант, так как они могут просматривать все остальные каталоги пользователей.
Вы ищете опцию конфигурации allow_writeable_chroot
, но ее нет в версии vsftpd, поставляемой с 12.04. См. bug 1065714 для аналогичного запроса и деталей того, почему мы не можем получить это в 12.04.
Отключение chroot_local_user не является опцией, так как они могут просматривать все каталоги других пользователей.
blockquote>Рассматривали ли вы по умолчанию переход на частные пользовательские каталоги? Если вы не хотите, чтобы пользователи могли просматривать каталоги других пользователей, то более безопасный способ добиться этого - использовать механизм разрешений, встроенный в систему, а не через каждую отдельную службу. См. раздел управления пользователями в руководстве к серверу для получения подробной информации о том, как это сделать. Будет ли для вас вариант выключения
chroot_local_user
?
Подробнее о следующей ссылке .
Вы можете выбрать один из 3 способов: 1. Определить опцию local_root = в файле конфигурации. должен / home или другой путь к каталогу с пользовательскими папками. Таким образом vsftpd выполняет синхронизацию с каталогом / home.
Определите параметр passwd_chroot_enable = yes в файле конфигурации и измените в домашнем каталоге пользователя файла / etc / passwd с «/ home / user» на «/home/./user» (без кавычек) , Таким образом, vsftpd выполняет синхронизацию с каталогом / home.
Загрузите исходные коды vsftpd-ext, скомпилируйте и перезаписайте существующие двоичные файлы vsftpd или извлеките их из репозиториев и добавьте в файл конфигурации option allow_writeable_root = yes.