Я хочу запустить rsync для копирования файлов из локальных папок Mac на корпоративный сетевой диск. Чтобы получить доступ к сетевому диску, мне нужно смонтировать его, используя другие учетные данные по сравнению с моей локальной учетной записью пользователя.
Как мне указать моему bash-скрипту (который запускает несколько разных rsync-ов) запускаться от имени другого пользователя (пользователя моей корпоративной сети), чтобы избежать ошибок «Запрещено» (13)
failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992)
РЕДАКТИРОВАТЬ:
Итак, я создал и смонтировал общий ресурс в ~/smb/pfimp/ - я могу прекрасно читать файлы, и он создает папки на файловом сервере, но он не может копировать сами файлы.
Есть еще предложения? Спасибо.
MAC:bin mylocaluser$ rsync -azP --exclude=.DS_Store ~/Documents/Work/Master/Scripts/demo/ ~/smb/pfimp/Scripts/demo
building file list ...
38 files to consider
./
external/
external/workflow.py
1225 100% 0.00kB/s 0:00:00 (xfer#1, to-check=35/38)
external/override/
external/override/before.py
3229 100% 3.08MB/s 0:00:00 (xfer#2, to-check=33/38)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/.workflow.py.sEm5kg" failed: Permission denied (13)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/override/.before.py.iKs9MS" failed: Permission denied (13)
sent 2811 bytes received 82 bytes 385.73 bytes/sec
total size is 31779 speedup is 10.98
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992) [sender=2.6.9]
решение1
Вы можете использовать mount_afp
команду , чтобы фактически смонтировать общий ресурс на своем компьютере, а затем использовать rsync
(или другую команду) для копирования файлов в общий ресурс.
Использование:
mount_afp afp://yourserver/yourshare/folder mountpoint
если вы используете протокол smb, вы можете использоватьmount_smbfs
видетьстраница руководства mount_afpиэто для mount_smbfs
РЕДАКТИРОВАТЬrsync с опцией -a
имеет проблему в том, что он пытается установить разрешения, но не может из-за общего ресурса Samba. Используйте опцию -r
вместо того, чтобы -a
изменить это поведение.