Ваша проблема, скорее всего, заключается в том, что конфигурация для пользователя `user2` в файле, который вы указываете в `user_config_dir`, не правильно задействует параметр `local_root`, или возможно, есть конфликт между настройками. Вот шаги, которые могут помочь решить эту проблему:
1. **Проверьте файл конфигурации для user2**:
Убедитесь, что файл конфигурации для `user2` (например, `/etc/vsftpd/users/user2`) содержит правильный путь к домашнему каталогу. Например, он должен выглядеть так:
```plaintext
local_root=/var/www/html/mysite.com/file
```
Убедитесь, что файл настроен правильно, например, без лишних пробелов и символов.
2. **Проверьте права на каталоги**:
Убедитесь, что у пользователя `user2` есть права на доступ к своему домашнему каталогу. Команда `ls -l` поможет вам проверить права доступа:
```bash
ls -ld /var/www/html/mysite.com/file
```
Убедитесь, что пользователь `user2` имеет права на чтение и выполнение в этой директории.
3. **Проверьте наличие параметра chroot в конфигурации**:
Убедитесь, что для пользователя `user2` правильно настроен chroot, чтобы он не мог подняться на уровень выше своей домашней директории. Это должно включать:
```plaintext
chroot_local_user=YES
```
Если вы используете `vsftpd.chroot_list`, проверьте, что `user2` действительно указан в этом списке.
4. **Перезагрузите сервис vsftpd**:
После того как вы внесли изменения, не забудьте перезагрузить сервис vsftpd, чтобы применить изменения конфигурации:
```bash
sudo systemctl restart vsftpd
```
5. **Проверьте логи**:
Если проблема все еще не устранена, посмотрите логи vsftpd (обычно они находятся в `/var/log/vsftpd.log` или `/var/log/syslog`), чтобы увидеть, есть ли там какие-либо сообщения об ошибках, связанные с `user2`.
Если после всех этих шагов проблема не решена, попробуйте уменьшить конфигурацию до минимума и создать временных пользователей с минимальными настройками для тестирования chroot, чтобы выявить, работает ли механизм в принципе.