У меня проблемы с правильной настройкой VSFTPD с chroot на сервере Ubuntu 14.04 (LTS). Независимо от того, что я пытаюсь, мне разрешено свободно перемещаться по серверу.
Вот мой /etc/vsftpd.conf
файл (без комментируемых частей)
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
# CHROOT'ING
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
ssl_enable=Yes
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Файл /etc/vsftpd.chroot_list
содержит только пользователя ftpuser
с намерением позволить ему перемещаться по всему серверу.
Для тестовых целей я создаю пользователя user1. Когда я
sftp user1@ftp-server
Я вхожу в его /home/user1, но, тем не менее, я могу перемещаться по всему серверу без тюремного заключения.
Что я делаю не так?
РЕДАКТИРОВАТЬ версия vsftpd: 3.0.2
ОБНОВИТЬ
Проблема, похоже, вообще не связана с chroot. На самом деле он отлично работает по протоколу FTP. Предположим, что SSH-сервер перехватывает входящие соединения на порту 22, поэтому он не отправляется на vsftpd. Просто предположение.
Попробуйте эти параметры в дополнение к chroot-директивам:
user_sub_token=$USER
local_root=/home/$USER