Я нахожусь в процессе создания решения, которое позволит многим разработчикам (возможно, сотням) работать со своими файлами через sftp, каждый из которых находится в своем домашнем каталоге. Для наших конкретных нужд у нас есть точка монтирования samba, которая содержит все домашние каталоги пользователей.
Я начал разработку следующего решения и натолкнулся на некоторые стены: - Я настроил Ubuntu Lucid Server как sftp-сервер. - Чтобы заключить пользователя в тюрьму в его домашнем каталоге (не позволяя ему просматривать каталог и видеть все другие папки пользователей), я использую mount --bind, а не символическую ссылку (также некоторые ftp-клиенты действительно не работают с символическими ссылками). - Учетные записи пользователей - это локальные учетные записи пользователей unix на сервере sftp (без использования службы каталогов или чего-то еще), у которых есть пустая домашняя папка, созданная на локальном компьютере, затем я использую mount --bind, чтобы привязать пустую папку к фактическим пользователям домашний каталог на общей папке samba.
С этим решением я столкнулся с парой проблем: в случае перезагрузки сервера все привязки mount теряются, потому что они не записаны в fstab. Затем я где-то читал, что максимальное количество записей в fstab - 400 (что нам не очень помогает).
Я придумал решение написать что-то, что хранит монтирования в текстовом файле в качестве резервной копии, а при перезагрузке сервера запускает сценарий, который повторно монтирует.
Я просто не уверен во всем этом процессе, и мне было интересно, есть ли у кого-нибудь представление о возможном лучшем решении для SFTP? (не FTP)
Взгляни на автомонтировать
Программа automount используется для управления точками монтирования autofs, встроенного средства автомонтирования Linux. automount работает путем чтения карты auto.master (8) и устанавливает точки монтирования для каждой записи в главной карте, позволяя им автоматически монтироваться при доступе. Затем файловые системы автоматически размонтируются после определенного периода бездействия.
Я никогда не использовал его с сервером самбы, поэтому не уверен, работает ли он с ним. Сказав, что вы, кажется, находитесь в начале своего проекта, поэтому (при необходимости) изменение способа совместного использования домашних каталогов, чтобы воспользоваться преимуществами автомонтирования, может оказаться полезным в долгосрочной перспективе.
Более поздние версии sshd поддерживают ChrootDirectory
параметр конфигурации, который также можно легко использовать для chroot сеансов sftp.