Залиште обробку ACL в Windows за допомогою Cygwin rsync


11

Я запускаю rsyncкоманду, копіюючи свої файли з сервера на мою машину Windows, наприклад:

rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/

Кожен раз, коли ця команда створює каталог, вона має тенденцію до створення каталогу з божевільними ACL / дозволами. Для мене, як правило, створюється десять <not inherited>записів, з одним запереченням запису для користувача, який керував rsyncкомандою, а інші теж не мають особливого сенсу. Це навіть відбувається за допомогою --chmod=ugo=rwXпараметра, який запропонував аналогічний потік .

Що я можу зробити, щоб взагалі не rsyncнамагатися встановлювати дозволи (і просто залишити права на спадкування ACL у Windows)?

Відповіді:


13

Змонтуйте відповідний каталог за допомогою noaclпараметра, як описано в посібнику .

(І якщо ви хочете знати, чому відображення дозволів Unix на ACL-адреси Windows не є простим, дивіться тут .)


noaclперешкоджає шаленим дозволам, але оскільки він підробляє дозволи з бітом "readonly", я отримую купу дивних каталогів лише для часткового читання. Це вдосконалення.
palswim

1
Насправді, схоже, я отримую цей симптом "часткового читання" в будь-якому каталозі ( rsyncстворено його чи ні). Здається, Windows говорить лише про те, що каталоги не мають властивості лише для читання .
palswim

2
Відповідь ak2 була дуже корисною, але знадобилося досить багато гуглінгу, щоб знайти правильну настройку noaclв / etc / fstab. Я вважав це посилання досить корисним. Використовуючи noaclвиправлені мої проблеми rsync - дякую.
мандрівка

1
@miking вже дав приємну підказку із цим посиланням та noaclможливістю. Мені не вийшло MobaXterm (портативний), оскільки це, здається, створюється /etc/fstabна кожному запуску. Я частково обійшов це розміщення mount -c /drives -o binary,posix=0,user,auto,noaclв моєму .bashrc. "Частково", оскільки це впливає лише на "літери накопичувача Windows" (а не напр. /home).
Іззі

1
@SimonEast - знайшов це, поки ти відповів. Чи можете ви спробувати це і відповісти? - developers.redhat.com/blog/2018/02/07/… - # Якщо ваш дистрибутив не має файлу fstab, який є типовим для cwRsync, його легко виправити. Створіть файл у $MY_RSYNC_DIST_DIR/etc/fstabта вставте наступний вміст:none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
Alex S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.