
У меня есть сервер, на котором несколько человек имеют учетную запись пользователя, и они rsync'ят одну и ту же папку. Чтобы включить это, я поместил всех пользователей в одну группу, и при rsync'е они используют --chmod=g+w
.
Файлы корректно доступны каждому пользователю в группе, но любой, кто не является создателем папок, не сможет завершить rsync, поскольку он не может установить разрешения для папки, поскольку не является ее владельцем.
Как мне сказать rsync не изменять настройки объектов, на которые у него нет прав собственности?
решение1
Используйте эту --no-perms
опцию, чтобы предотвратить изменение разрешений существующих целевых файлов. --chmod
Разрешения будут использоваться только для новых создаваемых файлов/папок.
Если предположить, что все существующие файлы и папки уже созданы с правильными групповыми разрешениями, то необходимо будет только установить разрешения для новых, поэтому этого должно быть достаточно.
Однако вместо добавления разрешений с помощью --chmod=g+w
следует указать полный набор разрешений, например --chmod=ug=rwX,o=rX
, поскольку --no-perms
это сообщает ему, что не нужно копировать исходные разрешения для копируемых файлов.