vsftpd - ограничить пользователей домашним каталогом

Настроить 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 ()

Однако, если я добавлю в allow_writeable_chroot=YES как предложено здесь , то он просто не сможет подключиться:

Попытка подключения не удалась с помощью «ECONNREFUSED - Соединение отклонено сервером»

Однако, если я удалю только что добавленную строку и выполню sudo chmod a-w в домашнем каталоге пользователей, они теперь могут подключиться, но служба бессмысленна, поскольку они ничего не могут загрузить.

Есть ли способ ограничить пользователей только их домашним каталогом И иметь возможность подключаться и писать в их домашний каталог? Отключить chroot_local_user не вариант, так как они могут просматривать все остальные каталоги пользователей.

1
задан 22 December 2016 в 22:19

2 ответа

Вы ищете опцию конфигурации allow_writeable_chroot, но ее нет в версии vsftpd, поставляемой с 12.04. См. bug 1065714 для аналогичного запроса и деталей того, почему мы не можем получить это в 12.04.

Отключение chroot_local_user не является опцией, так как они могут просматривать все каталоги других пользователей.

Рассматривали ли вы по умолчанию переход на частные пользовательские каталоги? Если вы не хотите, чтобы пользователи могли просматривать каталоги других пользователей, то более безопасный способ добиться этого - использовать механизм разрешений, встроенный в систему, а не через каждую отдельную службу. См. раздел управления пользователями в руководстве к серверу для получения подробной информации о том, как это сделать. Будет ли для вас вариант выключения chroot_local_user?

0
ответ дан 22 December 2016 в 22:19

Подробнее о следующей ссылке .

Вы можете выбрать один из 3 способов: 1. Определить опцию local_root = в файле конфигурации. должен / home или другой путь к каталогу с пользовательскими папками. Таким образом vsftpd выполняет синхронизацию с каталогом / home.

  1. Определите параметр passwd_chroot_enable = yes в файле конфигурации и измените в домашнем каталоге пользователя файла / etc / passwd с «/ home / user» на «/home/./user» (без кавычек) , Таким образом, vsftpd выполняет синхронизацию с каталогом / home.

  2. Загрузите исходные коды vsftpd-ext, скомпилируйте и перезаписайте существующие двоичные файлы vsftpd или извлеките их из репозиториев и добавьте в файл конфигурации option allow_writeable_root = yes.

0
ответ дан 22 December 2016 в 22:19

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

Похожие вопросы: