Установка разрешений с помощью rsync только в том случае, если файл принадлежит пользователю

Установка разрешений с помощью rsync только в том случае, если файл принадлежит пользователю

У меня есть сервер, на котором несколько человек имеют учетную запись пользователя, и они rsync'ят одну и ту же папку. Чтобы включить это, я поместил всех пользователей в одну группу, и при rsync'е они используют --chmod=g+w.

Файлы корректно доступны каждому пользователю в группе, но любой, кто не является создателем папок, не сможет завершить rsync, поскольку он не может установить разрешения для папки, поскольку не является ее владельцем.

Как мне сказать rsync не изменять настройки объектов, на которые у него нет прав собственности?

решение1

Используйте эту --no-permsопцию, чтобы предотвратить изменение разрешений существующих целевых файлов. --chmodРазрешения будут использоваться только для новых создаваемых файлов/папок.

Если предположить, что все существующие файлы и папки уже созданы с правильными групповыми разрешениями, то необходимо будет только установить разрешения для новых, поэтому этого должно быть достаточно.

Однако вместо добавления разрешений с помощью --chmod=g+wследует указать полный набор разрешений, например --chmod=ug=rwX,o=rX, поскольку --no-permsэто сообщает ему, что не нужно копировать исходные разрешения для копируемых файлов.

Связанный контент