Вы не можете использовать символические ссылки, это правда. Символьные ссылки относятся к корневому каталогу ( /
), и в chroot это корень chroot, а не корень вашей файловой системы.
Вот страница документации proftpd, объясняющая то же самое.
Итак, я почти уверен, что это правда, но я не нашел специально детализированной независимой ссылки, которая бы прямо отвечала на мой вопрос. Вопрос в том:
Как я могу добавить доступ к ресурсу, который находится за пределами среды chroot?
Я настроил chroot SFTP, используя новую директиву OpenSSH ChrootDirectory.
К сожалению, в моем окружении я не могу напрямую ограничить chroot основным каталогом, где живут определенные пользовательские ресурсы. Поэтому я создал отдельную область chroot, и я ссылаюсь на необходимые ресурсы.
Я попытался использовать символические ссылки, чтобы сделать это. например
ln -s /path/to/resource /chroot/dir/resource
Но возникла ошибка «не удалось канонизировать каталог не найден»
Поэтому мое решение заключалось в использовании привязки:
mount --bind /path/to/resource /chroot/dir/resource
Это сработало.
На самом деле, я просто хотел получить общее подтверждение того, что символические ссылки не будут работать. Ссылка на хорошую ссылку, описывающую это, была бы также хороша.
Вы не можете использовать символические ссылки, это правда. Символьные ссылки относятся к корневому каталогу ( /
), и в chroot это корень chroot, а не корень вашей файловой системы.
Вот страница документации proftpd, объясняющая то же самое.