На самом деле Gluster идеально подходит для этого сценария. Вы получаете двунаправленную репликацию и способность смонтировать файловую систему от любой машины, давая Вам (теоретически) дважды, эффективная способность ввода-вывода NFS и активной обработки отказа должна один из сбоя полей.
Проблема с выполнением активного rsync этот путь блокирует ввод-вывод из-за блокировок файла. В зависимости от Вашего приложения и изменения в данных это могло быть не важно или иметь катастрофические последствия! Распределенные файловые системы имеют очень определенную семантику блокировки, которые предотвращают это. Даже если inotify имеет лучшую блокировку (когда я в последний раз попробовал его, это не сделало), в эти дни затем, Ваши доступы к файлу могут заблокироваться, в зависимости от того, может ли Ваша сеть справиться с изменениями. Это все теоретические протесты, но стоящий изучения в зависимости от того, что делает Ваше приложение.
Вместе с достаточно свежей CentOS поставляется достаточно новый OpenSSH с функциями chroot
и internal-sftp
.
Сначала вам нужно настроить OpenSSH для использовать внутренний SFTP. Это делается путем добавления этой строки в sshd.conf
:
Subsystem sftp internal-sftp
Затем вы можете добавить правила для ограничения пользователей / групп в их домашних каталогах:
Match user restrictedjoe
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Или для групп
Match group restrictedgroup
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Я не знаю "стандартного способа", но есть один способ сделать это делается для создания так называемой «тюрьмы» для пользователя, где его / ее тюрьма находится в / var / www. Это можно сделать, создав chroot-тюрьму. См. Команду chroot. Тюрьма также может контролировать, что пользователь может делать в тюрьме, т.е. какие команды / программы можно запускать.
На основании вашего ответа на мой комментарий, Я бы не стал давать пользователю полную оболочку. Это значительно упрощает задачу. На ум приходят несколько замен оболочки, которые можно использовать, чтобы позволить пользователю управлять файлами и ничем другим:
Я лично использовал scponlyc несколько раз. Он даже включает скрипты для установки chroot jail для вас ( github wiki )
Моя любимая причина установки mysecureshell
http://mysecureshell.sourceforge.net/
Это наиболее удобный вариант настройки. С ним можно делать много замечательных вещей