Общий доступ к записи в Linux
Как я могу сделать каталог рекурсивно доступным для чтения / записи для группы пользователей?
ПРОБЛЕМА:
Это каталог, используемый apache, поэтому права доступа должны быть довольно строгими. Единственный способ заставить его работать должным образом - это смонтировать каталог как общий ресурс nfs, который заставляет uid и gid быть установленными для определенной группы и uid. Но это похоже на хак и позволяет любому изменять содержимое, хотя apache тогда имеет довольно строгие права доступа к "настоящему" каталогу.
ЧТО Я ПОПРОБОВАЛ
Я попробовал бит setgid, который не удается при копировании каталогов через scp. Даже после попытки установить umask в 6 разных местах. И я установил и смонтировал разделы, чтобы использовать acl, который имел ту же проблему с правами группы при копировании с помощью scp / sftp.
Это действительно расстраивает, так как кажется, что такая простая и глубокая проблема, для которой я не нашел удовлетворительного решения. Надеюсь, я упускаю что-то очевидное здесь. Использование в основном Debian Squeeze.
2 ответа
Решение с помощью chmod g+s и принудительного использования масок работает довольно хорошо. Вы заставили подсистему sftp umask в файле sshd_config?
Subsystem sftp internal-sftp -u 0002
Если вам нужна гибкость для sftp, вы можете попробовать mysecureshell. У этого есть варианты разрешения, такие как:
DirFakeUser #Скрыть реального владельца файла / каталога (просто измените отображаемые разрешения)
DirFakeGroup #Скрыть реальную группу файлов / каталогов (просто измените отображаемые разрешения)
DirFakeMode # Скрыть реальные права на файлы / каталоги (просто измените отображаемые разрешения)
ForceGroup