У меня 5 сайтов в / home / mainuser. Я создал пользователя в / home / user1, в настоящее время sftp работает, и пользователь находится в тюрьме в своей папке. Однако я хочу, чтобы он имел доступ к 2 сайтам в / home / mainuser и скрыл остальные 3 сайта от user1. Я попытался создать символическую ссылку. Но не работает. Может ли кто-нибудь помочь мне решить эту проблему?
Это мои текущие настройки:
Subsystem sftp internal-sftp
Match group SFTP-users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
В Linux вы можете использовать привязку
mkdir /home/user1/site1
mount --bind /home/mainuser/site1 /home/user1/site1
Удалять:
umount /home/mainuser/site1
Не очень сложное и быстрое решение, но что, если вы создадите фиктивный домашний каталог, в котором вы разместите жесткие ссылки на каталоги, к которым вы хотите, чтобы он получил доступ?
Но будьте осторожны! жесткие ссылки на каталоги могут быть опасными! Когда вы используете rm -r one, вы сначала очистите содержимое, а поскольку содержимое не дублируется, вы удалите свои данные. Удалите жестко связанный каталог с помощью unlink.
(вы можете использовать stat, чтобы проверить, является ли файл / каталог жесткой ссылкой, по количеству ссылок).
Вы можете заключить пользователя в тюрьму в / home, а затем заблокировать каталоги, которые пользователь не должен видеть, с разрешениями и / или ACL (если ваша файловая система их позволяет).
На самом деле это не самое безопасное решение, потому что вам придется повторно проверять разрешения для новых создаваемых каталогов, но, возможно, это не проблема.