Security如何使用
如何使用 rsync
安全地推送到鏡像?
我
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 並將它們輸入到各自的授權密鑰中來配置源伺服器和目標伺服器之間的信任。這是一個很好的教程: