Я создаю сценарий для копирования файлов с удаленного сервера. Проблема в том, что права доступа к файлам удаленных серверов довольно плохие, и я не хочу их копировать.
Строка в моем скрипте сейчас
/usr/bin/rsync -rtzul --progress -e ssh "$DEFAULT_SSH:$REMOTE_DIRECTORY" "$LOCAL_DIRECTORY"
Я видел в другом месте, что вы можете использовать --chmod
возможность указать разрешения, но я просто не понимаю синтаксис этого аргумента! Может, я дурак?
Я хочу, чтобы файлы chmod по умолчанию были 644
и каталоги 755
. Я надеюсь, что вы можете мне помочь.
Большое спасибо!
Хорошо, я понял, как это сделать! Я копал какое-то время, прежде чем задать этот вопрос, и продолжил копать. Аргументы, которые я искал:
--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
Чтобы объяснить, это в основном означает:
Du = Владелец каталога (Read, write, execute
)
Dg = Группа каталогов (Read, execute
)
Do = Пользователи каталога (все) (Read, execute
)
Fu = владелец файла (Read, write
)
Fg = Группа файлов (Read
)
Fo = Пользователи файлов (все) (Read
)
Итак, в моем случае я дал каталоги 755
разрешения и файлы 644
разрешения.
Я узнал, как это сделать - http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions