Назад | Перейти на главную страницу

Как убедиться, что rsync устанавливает правильные права доступа к файлам?

Я передаю данные из ящика Synology в ящик Debian с помощью rsync.

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

Задание rsync настраивается через графический интерфейс DSM. Если возможно, я бы предпочел избегать взлома окна синологии и делать что-нибудь в командной строке. Это означает, что я ищу способ установить разрешения на стороне сервера (поле debian). Я использую последнюю версию DSM (4.1).

rsync (по крайней мере 3.0.9) имеет --chmod вариант, вот что он делает:

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

Насколько я знаю, в rsync такой функциональности нет. Вы можете установить свою UMASK перед тем, как инициировать передачу, используя:

$ umask 077

Затем выполните передачу rsync. Убедитесь, что вы не используете переключатель разрешений сохранения (-p) или что-либо, что устанавливает разрешения сохранения, например -а. Если вы используете это как часть сценария и используете подоболочку, вам не нужно сбрасывать umask, так как при выходе из оболочки она вернется. Если вы продолжите использовать оболочку, я рекомендую вам восстановить вашу umask до более разрешительного значения, такого как 022.