使用 cygwin 和 rsync –“密碼文件不能被其他人訪問”
我終於有一台舊電腦作為 Ubuntu 11.10 的備份伺服器執行。我計劃使用它每週使用 rsync 備份我的 Windows 7 機器。我已經安裝了 cygwin,並且 rsync 執行良好。不過,我正在按照本指南將其創建為計劃任務:
http://justinsomnia.org/2007/02/how-to-regularly-backup-windows-xp-to-ubuntu-using-rsync/
我在 C:\ 中有一個 rsync.bat 腳本,如果我直接從 Cygwin 的命令行執行它,我可以讓腳本正確執行。但是,當我嘗試執行 rsync.bat 腳本時,我得到了這個:
ERROR: password file must not be other-accessible
所以一定是秘密文件的權限問題……我按照該指南將權限設置為 600,並將其授予 Nate
$$ the administrator $$:系統。 關於可能導致問題的任何想法?
編輯:有問題的文件實際上是在 Windows 7 機器上。我想我應該在這裡問,因為我專門處理 Cygwin 和 Rsync。
經過一番Google搜尋,我發現有一個“嚴格模式”選項告訴 rsync 不要檢查機密文件的權限,並且添加該選項是為了適應 Windows 系統。但是,在添加它並重新啟動 rsyn 守護程序後,我似乎仍然遇到同樣的錯誤。這是我的 rysncd.conf 文件:
[rsync] path = /home/nate/backups comment = My backups uid = nate gid = nate read only = false auth users = nate secrets file = /etc/rsyncd.secrets strict modes = false
根據cygwin的說法,秘密文件的權限:
-rw------- 1 Nate SYSTEM 11 Dec 9 18:48 secret
我覺得我一定錯過了一些非常明顯的東西。
我可以通過將行更改為以下內容來解決此問題
password-file
:
–password-file=/cygdrive/c/cygwin/secret
確保執行以下操作:
- 將密碼文件的模式更改為 -rw——– ,例如在 Windows 上有一個密碼文件 C:/Custom/syncjob/pwfile,使用 Cygwin,轉到密碼文件位置:
cd /cygdrive/c/自定義/同步作業
然後
chmod 600 ./pwfile
- 還將密碼文件的所有權更改為正在執行 rsync 作業的使用者,例如“Dave”:
chown 戴夫 ./pw
- 將密碼文件稱為 -password-file=/cygdrive/c/… 可能會有所幫助,就像 Nate 所寫的那樣。
我認為沒有必要更改 rsync 配置。
Windows 的一個已知解決方法是追加
< pw文件
到 rsync 命令的末尾。
祝你好運。