Mac OS-使用不同的网络凭证运行 rsync 的 bash 脚本

Mac OS-使用不同的网络凭证运行 rsync 的 bash 脚本

我想运行 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改变该行为。

相关内容