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改變該行為。

相關內容