Security

如何使用 rsync 安全地推送到鏡像?

  • October 5, 2013

rsync --rsh "ssh"用來推鏡子。在鏡像上設置必要的文件系統權限需要在鏡像rsync上以 root 權限執行。但是,鏡像文件位於單個層次結構下,我希望rsync只允許訪問該層次結構,而不允許訪問鏡像上的其他任何內容。

我將如何允許rsync設置權限同時限制訪問?

是否可能有一些組合rsync --rsh "???"command="???"選項authorized_keys可以解決問題?該rsync命令已經在使用專用鍵authorized_keys

或者有沒有辦法rsync以非特權使用者身份連接,被監禁,然後獲得設置文件系統權限的訪問權限?監禁程序很容易,但允許遠端rsync獲得權限似乎很困難,並且允許被監禁的程序獲得任何權限似乎有風險。(當然,現在這個過程有根,任何程度的限制都是一種改進,即使只是為了減輕事故。)

您應該rsync 您的鏡像執行,並以您的原始鏡像作為源。

根據您的案例,您應該將其作為cronjob(定期)或sshkey命令(推啟動拉,實際上是推)執行。

要將遠端位置同步到本地位置:

rsync -avze ssh user@source:/dir destination

要將本地位置同步到遠端位置:

rsync -avz source -e ssh user@destination:/dir

從手冊頁(http://linux.die.net/man/1/rsync):

-a archive mode; e.g. copies permissions
-v verbose; in case you want to log what gets copied
-z compress during transfer
-e specify the remote shell to use; let's you use ssh

要讓 rsync 在不提示輸入密碼的情況下工作,您需要通過生成 rsa-keys 並將它們輸入到各自的授權密鑰中來配置源伺服器和目標伺服器之間的信任。這是一個很好的教程:

http://troy.jdmz.net/rsync/index.html

引用自:https://serverfault.com/questions/543754