Владелец файлов и папок по ssh (sftp) как в родительской директории
Есть ли возможность сделать так, чтобы создаваемые и изменяемые файлы и папки по ssh (sftp) имели такого же владельца, как и родительская директория, а не текущего пользователя?
Есть umask, но управляет правами, а мне нужно владельцем.
Причина этому — несколько сайтов запущены под разными пользователями, то есть сайты изолированы друг от друга, права стоят 700, а после редактирования файлов (пользователем, который имеет доступ ко всем сайтам) владелец сбивается и 700 chmod не позволяет веб-серверу получить доступ к файлу.
Тогда какое изолирование будет между сайтами? Не хочется держать всё в куче, и входить под кучей пользователей для редактирования/загрузки файлов на разных сайтах тоже нет желания. Должно быть какое-то красивое решение.
ну так вы определитесь: либо «какая изоляция» — и тогда для каждого пользователя запускается своя копия, например, php-fpm под его uid/gid в отдельном пуле, либо таки chmod 750 (местами 770, куда надо писать от веб-сервера) + chown user:web.
Просто Ваш подход, на самом деле, далёк и от изоляции и от удобства.
Ну и к слову, как раз таки поставив групповой suid-бит на директорию — все создаваемые внутри неё каталоги и директории будут иметь тот же gid ;)
Меня кстати всегда удивляло, почему в Linux sgid на директорию нужно ставить для того, чтобы получить такое, казалось бы, самое востребованное поведение. Вот в *BSD наоборот, т.е. по умолчанию уже все «правильно» (а sgid ставят, когда нужно сделать как по умолчанию в Linux).