rsync 3.1.3

rsyncd.conf

2018年1月28日


 


rsyncd配置(5)

 

2018年1月28日

姓名

rsyncd.conf配置rsync守護進程的方式在file forhtml

概要

rsyncd.conf算法

 

描述

的rsyncd.conf文件是rsync whenrun運行配置文件做爲一個rsync守護進程。shell

的rsyncd.conf文件控制認證、訪問、測井和模塊。數組

 

文件格式

The file consists of modules and parameters. A module begins with thename of the module in square brackets and continues until the nextmodule begins. Modules contain parameters of the form "name = value".安全

該文件是基於行的--也就是說,每一個換行符終止線representseither評論,模塊的名稱或參數。服務器

只有第一個等號在參數是重要的。空白以前或以後第一個等號是丟棄。領導、跟蹤和internalwhitespace模塊和參數名稱是可有可無的。領導andtrailing空格在參數值被丟棄。內部whitespacewithin參數值保留逐字。session

任何線開始與哈希(#)是不容忽視的,如線containingonly空白。(若是一個哈希時比其餘任何leadingwhitespace,後被認爲是線的一部份內容。)app

任何行結束在一個\「繼續」在下一行中經常使用的UNIX時尚。ssh

在等號後的參數值都是字符串(沒有引號須要)或一個布爾值,它可做爲是/否,0/1,或假。在布爾值的狀況下不顯著,但preservedin字符串值。tcp

 

啓動rsync守護進程

rsync守護進程啓動指定——守護選擇torsync

守護進程必須以root權限運行若是您但願使用chroot,與端口編號在1024(這是默認的873),或setfile全部權。不然,它必須有權限讀寫相應的數據,日誌和鎖文件。

你能夠經過inetd,做爲一個獨立的守護進程,或從rsync客戶端經過遠程shell。若是運行做爲一個獨立的程序只運行命令」——rsync守護進程「從一個合適的啓動腳本。

經過inetd運行時你應該添加這樣的線/等/服務:

 

  rsync           873/tcp

一行像這樣的東西/etc/inetd.conf:

 

  rsync   stream  tcp     nowait  root   /usr/bin/rsync rsyncd --daemon

取代「/usr/bin/vi rsync」的路徑,在你安裝系統在rsync。你將須要發送一個信號告訴它HUP inetd的配置文件toreread。

你應該注意把rsync守護進程一個hup信號削力重讀rsyncd.conf文件文件從新閱讀每clientconnection。

 

全局參數

文件中的第一個參數(在[模塊]頭)是全局參數。rsync也容許使用「[全球]「模塊名稱來表示一個或多個全局參數的一部分(名稱必須是小寫)。

你還能夠包括在所提供的值將覆蓋默認配置文件參數的狀況下,全球的任何模塊參數。

你可使用引用環境變量的參數值。字符串參數將有% %參考VaR擴展儘量晚(當字符串是在程序中使用),容許變量thatrsync套在鏈接時使用,如rsync_user_name。非字符串參數(如真/假設置)擴展閱讀時從配置文件。若是變量不存在於環境中的,或若是一個字符序列不是有效的引用(如一個未成對的百分號),原就是經過不變。這有助於向後兼容性和安全(如擴大一個不存在的% Var%在很是不安全的路徑,路徑可能會致使一個空字符串)。插入文字成一個最安全的方法是使用%。

 

 

 

公告文件
此參數容許你指定一個「一天」的消息顯示在每一個鏈接的客戶。這一般包含網站信息和任何法律聲明。的defaultis沒有motd文件。這能夠被 --dparam=motdfile=FILE命令行選項啓動守護進程時。

 

 

PID文件
This parameter tells the rsync daemon to writeits process ID to that file. 若是文件已經存在,該rsyncdaemon將停止而不是覆蓋文件。這能夠被 --dparam=pidfile=FILE命令行選項啓動守護進程時。

 

 

港口
您能夠重寫默認端口守護進程將聽由指定此值(默認爲873)。這是若是守護進程是由inetd的忽視,並取代 ——端口命令行選項

 

 

地址
您能夠重寫默認的IP地址daemonwill偵聽指定此值。This is ignored if the daemon isbeing run by inetd, and is superseded by the -地址命令行選項

 

 

套接字選項
這個參數能夠爲那些願意調整他們的系統最大程度提供了無盡的樂趣。你能夠設置各類套接字選項可使傳輸得更快(齒輪!)閱讀的手冊頁。 setsockopt()系統調用的詳細一些你能夠設置選項。默認狀況下沒有特殊設置套接字選項。這些設置也能夠specifiedvia的 sockopts……命令行選項

 

 

聽積壓
您能夠重寫默認值時,thedaemon偵聽鏈接積壓。它的默認值爲5。

 

 

模塊參數

當你要定義一個模塊的全局參數,每一個模塊的出口目錄樹做爲一個象徵性的名字。模塊輸出的方括號[模塊指定模塊名稱]其次,模塊的參數,模塊名稱不能包含斜線和右方括號。若是名稱包含空格,每一個內部的空白序列將會改變成一個單一的空間,而前導或尾隨空格將被丟棄。另外,名稱不能「全球」,確切的名字所表示的全局參數(見上文)。

隨着全球的參數,您可使用引用環境變量的參數值。看到全局參數的更多細節部分。

 

 

 

評論
此參數指定一個描述stringthat旁邊顯示模塊的名字時,客戶得到一系列可用的模塊。默認是沒有評論。

 

 

路徑
此參數指定的目錄中daemon'sfilesystem提供這個模塊。您必須指定這個參數,每一個模塊 rsyncd.conf

也許你基地的路徑的值從一個環境變量的變量名%的跡象時。你甚至能夠參考一variablethat設置rsync當用戶鏈接。例如,這將使用受權用戶的名稱的路徑:

 

    path = /home/%RSYNC_USER_NAME% 

它是好的若是路徑包括內部空間--他們將retainedverbatim(這意味着你不該該試圖逃走)。若是你的finaldirectory有空格(這是否是你的願望來解決),附加一個斜線的路徑來避免失去trailingwhitespace。

 

 

使用chroot
若是「使用chroot」是真的,rsync守護進程將chrootto「路徑」以前,從客戶端的文件傳輸。這有好處的額外保護免受可能的實現securityholes,但它須要超級用戶權限不足,沒法跟蹤符號連接是絕對的或在新的根路徑,以及複雜的保存用戶和組的名稱(見下文)。

做爲一個額外的安全功能,您能夠指定一個點的目錄模塊中的「路徑」,指出在chroot應該發生。這讓rsyncto運行在chroot與非」/「路徑上的傳輸的層次。這樣作防意外庫加載(由於這些absolutepaths內不會轉移層次除非你擁有一個unwisepathname),並讓你創建圖書館,在傳遞。例如,指定「/無功/同步/。/ Module1」將chroot到/ var / rsync」目錄和設置在chroot路徑「/模塊」。若是你有略點目錄,chroot會用全路徑,路徑和內部chroot就「/」。

當「使用chroot」和「守護chroot」是錯誤的,或在chroot路徑的「使用chroot」不是「/」,rsync會:(1)顯示連接的默認安全的緣由(見「顯示符號連接」的方式將thisoff,但只有當你信任你的用戶),(2)替代領導斜線絕對路徑模塊的路徑(因此選項如--備份目錄——比較DeST解釋,等一個絕對路徑asrooted模塊中的「路徑」目錄),和(3)裝飾」..「路徑元素fromargs若是rsync認爲他們逃逸的模塊層次結構。「使用chroot」是真正的默認,是更安全的選擇(若是模塊不是隻讀的)。

當此參數啓用,「數字標識」選項將默認被啓用(禁用名稱查找)。下面是chroot須要成功,名字查找。

If you copy library resources into the module's chroot area, youshould protect them through your OS's normal user/group or ACL settings (toprevent the rsync module's user from being able to change them), and thenhide them from the user's view via "exclude" (see how in the discussion ofthat parameter). At that point it will be safe to enable the mapping of usersand groups by name using the "numeric ids" daemon parameter (see below).

注意,你能夠設置自定義的用戶/組的信息thechroot地區,不一樣於正常的系統。例如,你能夠將用戶和組的列表。

 

 

守護chroot
此參數指定路徑的守護willchroot開始前與客戶溝通。模塊路徑(和任何「usechroot」設置)將這一相關。這讓你選擇,若是你想用整個守護進程(這個設置),只是將要用(「使用chroot」),或二者。記住,「守護chroot」地區可能須要不一樣的操做系統/ lib /等文件安裝容許後臺功能。默認狀況下,程序運行沒有任何chrooting。

 

 

數字標識
啓用此參數禁用映射用戶和組的名字爲當先後臺模塊。這阻止惡魔試圖加載任何用戶/組的相關文件或庫。這使使轉移表現爲若是客戶經過了 --數字標識命令行選項。默認狀況下,此參數可用於交互模塊和非交互模塊禁用。記住UID / GID保存須要模塊運行的根(見「uid」)或「假超」進行配置。

chroot容許模塊不該該有此參數啓用除非you'vetaken步驟以確保模塊具備必要的資源,它須要翻譯的名字,併爲用戶改變這些資源是不可能的。這包括代碼可以調用功能getpwuid()getgrgid()getpwname(),和getgrnam()你應該測試什麼庫和配置文件都須要你的操做獲得那些設置在開始試驗在rsync名稱映射。

 

 

顯示符號連接
這個參數告訴rsync modifyall符號連接的同樣(非守護進程的影響) ——顯示連接命令行選項(使用方法見下文)。這將有助於保護您的文件從用戶欺騙當你的後臺模塊是可寫的。當「使用chroot」是以「/」裏面的一個chroot路徑默認是禁用的,或者「守護chroot」,不然是啓用。

若是禁用此參數在一個守護進程,不是隻讀的,有技巧,用戶能夠玩到accessdaemon上傳連接排除的項目(若是你的模塊有),和,若是「使用chroot」是關閉的,甚至能夠欺騙rsync顯示或更改數據是模塊的路徑以外(如訪問權限容許)。

路rsync禁用符號的使用是每個字符串前綴與「/ rsyncd毀了/」。這能夠防止連接被做爲長期做爲該目錄不存在。當此參數啓用,rsync將拒絕運行若是路徑是一個目錄或連接到目錄。當使用「顯示符號連接」參數在chroot環境方面有「/」裏面的一個目錄路徑,你應該添加「/ rsyncd毀了/「排除設置模塊,用戶能夠不去創造它。

注:rsync不會嘗試驗證任何預先存在的符號連接的模塊的層次是像你但願的那樣安全(除非,固然,它只是複製整個層次結構)。若是你設置一個新的地區或局部添加一個rsyncdaemon符號連接,你能夠手動保護yoursymlinks被濫用的前綴「/ rsyncd毀了/」開始每符號的價值。這是在支持一個Perl腳本directoryof源代碼命名爲「顯示符號連接」可用於添加或從你removethis前綴符號。

當禁用此參數在可寫模塊和「使用chroot」關閉(或在chroot路徑不是「/」),輸入符號連接將被修改掉一個斜槓和刪除「..」路徑元素,rsync認爲將使連接的module'shierarchy逃跑。有棘手的工做方式在這,雖然,因此你最好相信你的用戶,若是您選擇此參數組合。

 

 

字符集
這指定設置在存儲模塊的文件名的字符的名稱。若是客戶端使用 ——iconv選項,守護進程將使用價值的「charset」參數不管人物設置客戶端經過。這容許後臺支持的字符集轉換在chroot模塊沒有額外的文件thechroot地區,同時確保名稱的翻譯是一個consistentmanner作。若是「charset」參數沒有設置,這 ——iconv選擇isrefused,就像「iconv」已經過指定的「拒絕」選項。

若是你想強迫用戶老是使用——iconv一particularmodule,添加「沒有iconv」到「拒絕選項」參數。記住,這將限制你的模塊很是新的rsync客戶。

 

 

最大鏈接數
此參數容許你指定你會容許同時鏈接的最大數目。任何客戶端鏈接時已經達到容許的最大值會收到口信告訴他們稍後。默認值是0,這意味着沒有限制。負值禁用模塊。參見「鎖定文件」參數。

 

 

日誌文件
When the "log file" parameter is set to a non-emptystring, the rsync daemon will log messages to the indicated file ratherthan using syslog. This is particularly useful on systems (such as AIX)where syslog()對於用程序不工做。文件打開以前 chroot()是所謂的,容許它被放置在轉移。若是這個值被設置在每個模塊的基礎上,而不是ofglobally,全局日誌仍然會包含任何受權failuresor配置文件錯誤信息。

若是守護進程沒法打開指定的文件,它會回落居住的失敗日誌和輸出一個錯誤。(注:沒法打開指定的日誌文件的應用是一個致命的錯誤。)

這個設置能夠被使用--log-file=FILE--dparam=logfile=FILE命令行選項。前overridesall守護進程的全部模塊設置日誌文件參數。後者爲全部模塊設置守護進程的日誌文件,默認狀況下,它仍然容許模塊重寫默認設置。

 

 

系統日誌工具
此參數容許你指定syslog設施名稱時要使用的測井信息thersync守護。你可使用任何標準的syslog設施名稱,定義你的系統。常見的名字認證,authpriv,cron守護進程,FTP,克恩,車牌識別,郵件、新聞、安全、日誌、用戶、UUCP,local0,近郊,分析,local3,local4,local5,local6和local7。的defaultis守護。這個設置沒有效果,若是「日誌文件」設置爲非空字符串(能夠設置在每一個模塊的設置,或繼承於全局設置)。

 

 

日誌標籤
此參數容許您指定日誌信息時使用rsync守護進程syslogtag。默認是「rsyncd」。這個設置沒有效果,若是「日誌文件」設置爲非空字符串(能夠設置在每一個模塊的設置,或繼承於全局設置)。

For example, if you wanted each authenticated user's name to beincluded in the syslog tag, you could do something like this:

 

    syslog tag = rsyncd.%RSYNC_USER_NAME%

 

 

馬克斯冗長
此參數容許您控制最大數量的詳細信息,你會容許後臺生成(從信息到日誌文件)。默認值是-1,它容許客戶端請求一個級別的冗長。

這也會影響用戶的能力要求更高水平的信息——調試登陸中.若是最大值是2,那麼沒有信息和/或調試的價值是高於所設定的- VVwill be honored by the daemonin its logging. To see how high of a verbosity level you need to accept for aparticular info/debug level, refer to "rsync --info=help" and "rsync --debug=help".For instance, it takes max-verbosity 4 to be able to output debug TIME2 and FLIST3.

 

 

鎖定文件
此參數指定的文件使用支持「最大鏈接數」參數。The rsync daemon uses recordlocking on this file to ensure that the max connections limit is notexceeded for the modules sharing the lock file.The default is /var/run/rsyncd.lock

 

 

只讀
這個參數決定了客戶們也能夠上傳文件或不。若是「只讀」是真的話,anyattempted上傳失敗。若是「只讀」是假的,而後上傳是可能的若是在守護身邊的文件權限容許他們。全部模塊都是隻讀的defaultis。

注意「受權用戶」能夠重寫此設置在每一個用戶的基礎。

 

 

write only
這個參數決定了客戶們也能夠下載文件或不。若是「只寫」是真的那麼anyattempted下載會失敗。若是「只寫」是假的,而後downloadswill可能若是在守護身邊的文件權限容許他們。這個參數默認是被禁用的。

Helpful hint: you probably want to specify "refuse options = delete" for awrite-only module.

 

 

 

列表
此參數肯定該模塊的過程當客戶端請求一個可用模塊的列表。此外,若是這是假的,守護進程會僞裝的模塊不existwhen客戶端的主機容許」或「hosts deny」試圖訪問被拒絕。意識到若是「反向查找」被禁用全局而啓用的模塊,產生的反向查找一個潛在的客戶可能仍然顯示控制DNS客戶端,打一個現有的模塊,默認爲模塊被列在單子上。

 

 

UID
此參數指定要從模塊應該發生在daemonwas運行root用戶名或用戶ID thatfile轉移。結合「GID」參數決定whatfile權限是可用的。當由一個超級用戶默認是切換到系統的「無人」的用戶。對於一個非超級用戶默認是不試圖改變用戶。又見「GID」參數。

的rsync_user_name環境變量可用於請求rsync RUNAS受權用戶。例如,若是你想要一個rsync運行爲sameuser,收到rsync認證,這種設置是有用的:

 

    uid = %RSYNC_USER_NAME%
    gid = * 

 

 

GID
此參數指定一個或多個組名稱/標識將用於訪問模塊時。第一個是默認組,任何額外的設置爲補充組。你也能夠指定一個「*」做爲第一gid列表中,將全部正常組爲轉移的用戶所取代(見「uid」)。當由一個超級用戶默認是將你的操做系統的「人」(或「nogroup」)沒有一些其它的輔助組。對於一個非超級用戶默認是不改變團隊的屬性(事實上,你的操做系統可能不容許非超級用戶嘗試改變他們的組設置)。

 

 

守護進程的UID
此參數指定一個UID下守護進程運行。守護進程一般是做爲root用戶,當這是左不左不變的用戶。又見「uid」參數。

 

 

守護GID
此參數指定一個GID下守護進程運行。守護進程一般運行組根,當這是左設置,集團保持不變。又見「GID」參數。

 

 

假超
Setting "fake super = yes" for a module causes thedaemon side to behave as if the ——假-好的被指定的命令行選項。這容許一個文件的完整的屬性是有後臺程序實際運行的根storedwithout。

 

 

濾波器
守護進程都有本身的過濾器鏈,決定哪些文件可讓客戶端訪問。這個鏈不發送到客戶端,客戶端能夠獨立於任何篩選器指定。排除的文件過濾器鏈(由守護進程 守護進程排除files) are treated as non-existentif the client tries to pull them, are skipped with an error message if theclient tries to push them (triggering exit code 23), and are never deleted fromthe module. You can use daemon filters to prevent clients from downloading ortampering with private administrative files, such as files you may add tosupport uid/gid name translations.

守護過濾器鏈是創建從「過濾」、「包括」、「包含」、「排除」、「排除」參數,在優先順序。anchoredpatterns錨定在該模塊的根。爲了防止訪問整個子樹,例如,「祕密」,你必須排除一切thesubtree;最簡單的方法來作到這一點是有三星模式如「祕密」***」。

「過濾器」參數以空格分隔的守護程序的過濾規則列表,但它是足夠聰明,知道不分令牌在內部空間不規則(如「/富/酒吧」解析爲兩條規則)。您能夠指定一個或多個文件的合併使用正常的語法規則。只有一個「過濾器」參數能夠指定配置文件中的模塊,因此把全部的規則,你想在一個單一的參數。請注意,每一個目錄文件的合併規則不提供儘量多的保護做爲全球規則,但它們能夠用來使刪除客戶端下載操做過程當中,若是每一個目錄合併在傳輸文件是和客戶要求他們用於工做。

 

 

排除
此參數以空格分隔daemonexclude模式列表。做爲與客戶 ——排除選擇,模式能夠勝任「-」或「」明確表示排除/包括。只有一個「排除」參數能夠適用於一個給定的模塊。看到「過濾器」參數描述如何排除的文件影響的守護。

 

 

包括
使用「包括」覆蓋效果的「排除」參數。只有一個「包括」參數能夠適用於一個給定的模塊。請描述如何排除的文件影響守護的「過濾器」參數。

 

 

排除
此參數指定一個文件同樣包含進程排除模式的守護進程的名稱,每行一個。只有一個「排除」參數能夠適用於一個給定的模塊;若是你有multipleexclude文件,您能夠指定他們做爲合併文件在「過濾器」參數。請描述如何排除filesaffect守護「過濾器」參數。

 

 

包括從
「排除」的一個守護進程includepatterns文件模擬。只有一個「包括」參數能夠適用於一個給定的模塊。看到「描述如何排除的文件影響thedaemon濾波器參數。

 

 

輸入chmod
此參數容許你指定一套ofcomma分離chmod字符串,將影響allincoming文件權限(被守護進程接收的文件)。Thesechanges happen after all other permission calculations, and this willeven override destination-default and/or existing permissions when theclient does not specify ——燙髮看到的描述 ——chmodrsync選項和 chmod(1)對字符串的格式信息的聯機幫助頁。

 

 

即將離任的chmod
此參數容許你指定一套ofcomma分離chmod字符串,將影響alloutgoing文件權限(即被髮送從後臺文件)。這些變化發生,使得發送權限彷佛不一樣,那些存儲在文件系統自己。例如,你coulddisable組寫權限的服務器時,它彷佛在給客戶看的描述。 ——chmodrsync選項和 chmod(1)對字符串的格式信息的聯機幫助頁。

 

 

受權用戶
此參數指定一個逗號和/或受權規則的空間separatedlist。在其最簡單的形式,你的usernamesthat列表將容許鏈接這個模塊。用戶不須要在本地系統的存在。規則能夠包含通配符,殼就會在客戶端提供的認證用戶名。若是「受權用戶」設置客戶端而後將挑戰鏈接到電源模塊的ausername和密碼。挑戰-應答認證協議用於交換。平原textusernames和密碼都存儲在文件中指定的「祕密文件」參數。默認是全部用戶能夠鏈接無密碼(這就是所謂的「匿名rsync」)。

除了用戶名匹配,您能夠指定組名匹配經過「@ 'prefix。使用組匹配時,認證的用戶名必須在系統區域的用戶,也會被認爲是無組織的成員。例如,指定「@ rsync」匹配的認證用戶若是指定用戶是rsync組成員。

最後,選項能夠指定後冒號(:)。該選項容許你「否定」的用戶或組,設置訪問「RO」(只讀),或將進入「刻錄」(讀/寫)。設置一個受權規則具體RO / RW設置overridesthe模塊的「只讀」設置。

必定要把規則中的順序來進行匹配,由於停在第一個匹配的用戶或組,這是惟一的auththat檢查。例如:

 

  auth users = joe:deny @guest:deny admin:rw @rsync:ro susan joe sam 

在上面的規則,用戶喬將被拒絕進入,不管什麼。任何用戶組中的「客人」也拒絕訪問。在讀/用戶「admin」getsaccess寫模式,但只有管理員用戶不在集團的「客人」(由於管理員用戶匹配規則將永遠沒法到達用戶若是是圈內的「客人」)。是誰在集團「rsync」會只讀訪問其餘用戶。最後,用戶蘇珊,喬,和山姆,RO / RW設置,只要用戶不匹配先前組匹配規則。

若是你須要有一個空間指定一個用戶或組的名稱,開始你的listwith逗號顯示列表應只Split(thoughleading和尾隨空格也將被刪除,和空項都忽略)。例如:

 

  auth users = , joe:deny, @Some Group:deny, admin:rw, @RO Group:ro 

看到的祕密文件描述你如何能夠每用戶passwordsas以及每組密碼。這也解釋了用戶如何authenticateusing用戶密碼或(適用時)的一組密碼,這取決於什麼樣的規則是被認證。

又見一節題爲「使用rsync-daemon特徵經過remoteshell鏈接」遠程同步(1)對如何處理anrsyncd.conf-level用戶名不一樣於當用遙控器外殼鏈接到一個遠程shell levelusername rsync守護進程的信息。

 

 

祕密文件
此參數指定一個文件名包含用戶名:密碼和/或@組名:密碼對用於authenticatingthis模塊。本文件僅供參考若是「受權用戶」參數指定。該文件是基於行包含一個名字:密碼對珍珠岩。任何線都有一個哈希(#)做爲線路上的第一個字符是一個評論,跳過。密碼能夠包含任何人物警告說,許多操做系統限制密碼長度是能夠在客戶端類型的,因此你可能會發現密碼超過8characters不工做。

使用特定組的線只時的相關模塊beingauthorized使用匹配」「GroupName」規則。當這種狀況發生時,用戶可受權經過「用戶名:密碼線」或「@組:用於觸發認證組密碼」。

它是你的什麼樣的密碼項你想包括,eitherusers,組,或二者。使用組規則中「受權用戶」不須要你指定的一組密碼,若是你不想使用sharedpasswords。

沒有默認的「祕密文件」參數,你必須選擇一個名稱(如/etc/rsyncd.secrets)。該文件必須一般不readableby「其餘」;看到「嚴格模式」。若是文件找不到或是拒絕,一個「用戶受權」模塊將有可能nologins。

 

 

嚴格的模式
這個參數決定是否許可的祕密文件將被檢查。若是「嚴格模式」的話,那麼祕密文件不能被任何用戶ID是可讀的除了一個rsync守護進程下運行。若是「嚴格模式」是假的,不進行檢查。默認的是真的。這個參數添加到容納rsync運行於Windows操做系統。

 

 

 

容許的主機
該參數容許指定以逗號或空格分隔的模式,與connectingclient的主機名和IP地址。若是模式都不匹配,而後鏈接被拒絕。

每個模式能夠有五種形式:

 

  • 一個虛線的形式ABCD十進制的IPv4地址,或一個IPv6地址的造成:B C D E F::::在這種狀況下,輸入機器的IP地址必須徹底匹配。
  • 地址/掩碼的形式ipaddr / N ipaddr是IP地址和子網掩碼N是在一位數。與屏蔽的IP地址將被容許在全部的IP地址。
  • 地址/掩碼的形式ipaddr / maskaddr哪裏ipaddr是IP地址和maskaddr是十進制表示法用於IPv4子網掩碼,或相似的協議,如:FFFF FFFF FFFF FFFF::::而不是/ 64。與屏蔽的IP地址將被容許在全部的IP地址。
  • 使用通配符的主機名模式。若是鏈接的IP地址的主機名(如經過反向查找肯定)相匹配的通配符名稱(使用相同的規則爲正常的UNIX文件名匹配),容許客戶端在。這隻有當「反向查找」啓用(默認)。
  • 一個主機名。一個普通的主機名是對鏈接的IP反向DNS匹配(若是「反向查找」功能),和/或給定的主機名的IP是對鏈接的IP地址匹配(若是「正向查找」功能,由於它是默認的)。一場比賽能夠在。

注意IPv6鏈路本地地址能夠在地址規範有一個範圍:

 

fe80::1%link1
fe80::%link1/64
fe80::%link1/ffff:ffff:ffff:ffff::

你也能夠把「主人容許「單獨」hosts deny」參數。若是指定兩個參數將「容許的主機參數進行校覈,比賽結果在客戶端可以鏈接。「hosts deny」參數,而後檢查和比賽意味着拒絕主機。若是主機不匹配的「容許登陸」或「hosts deny」模式則容許鏈接。

默認是不容許的主機參數,這意味着全部的主機均可以鏈接。

 

 

hosts deny
該參數容許指定以逗號或空格分隔的模式,與connectingclients主機名和IP地址。若是模式匹配,而後鏈接被拒絕。看到「容許登陸」更多的信息參數。

默認是沒有「hosts deny」參數,這意味着全部的主機均可以鏈接。

 

 

反查詢
控制是否守護進程執行反向把客戶端的IP地址來肯定它的主機名,這是用於「容許登陸」/「hosts deny」檢查和「%」日誌逃脫。這是默認啓用,但您可能但願禁用它,若是你知道查找不返回有用的結果,節省時間,在這種狀況下,守護進程將使用「待定」代替。

若是這個參數是全局啓用(甚至默認),rsync執行thelookup當一個客戶端鏈接,因此禁用這一模塊將回避的查找。所以,您可能但願禁用它的全局和thenenable它須要的信息模塊。

 

 

正向解析
控制是否執行了守護進程把在主機中指定的任何主機的容許/拒絕設置。默認狀況下啓用時,容許一個明確的主機名,就不會returnedby反向DNS鏈接IP的使用。

 

 

忽略錯誤
這個參數告訴rsyncd忽視I/O錯誤的守護在決定是否要運行的轉移deletephase。一般rsync跳過 刪除步若是安義I/O錯誤時有發生爲了防止災難性的缺失因爲臨時資源短缺或其餘I/O錯誤。在某些狀況下,這是拔苗助長,因此你可使用這個參數來關閉這一特性。

 

 

忽略不可讀
這告訴rsync守護進程而言是不可讀的用戶文件。這是有用的公共檔案,可能有一些不可讀的文件中thedirectories,和系統管理員不但願這些文件能看到全部。

 

 

傳輸日誌
此參數可使每filelogging的下載和上傳的格式有點相似於使用FTP守護程序。守護進程老是日誌傳輸結束時,若是傳輸停止,沒有提到將日誌文件。

若是你想自定義日誌行,看到「日誌格式」參數。

 

 

日誌格式
此參數容許您指定的格式用於記錄的文件傳輸時,傳輸啓用了日誌記錄,格式是一個包含嵌入的單字符escapesequences前綴字符串字符(%)百分之一。一個可選的NumericField寬度也能夠被指定的百分比和escapeletter之間(如「 %-50n %8l %07p」)。此外,一個或多個撇號能夠指定一個numericalescape以前顯示的數值應更human-readable.the 3支持水平是相同的 ——人類可讀的命令行選項,但默認是人類可讀性被關閉。每一個添加撇號水平增長(如「 % % % F B酒店「)

默認的日誌格式是「‰% % % M H [一](%)f L」、和「%t [%P]」始終是前綴時使用「日誌文件」參數。(一個Perl腳本,將總結這個默認的日誌格式包括rsync源代碼分佈在「支持」的子目錄:rsyncstats。)

單字符轉義,理解以下:

 

  • %的遠程IP地址(只提供一個守護進程)
  • % b字節數實際轉移
  • %B the permission bits of the file (e.g. rwxrwxrwt)
  • %的總大小的塊校驗收到的基礎文件(僅當發送)
  • %的C完整的文件校驗和若是它是已知的文件。年長的Rsync協議/版本、校驗和醃了,所以是否是一個有用的價值(而不是顯示在這種狀況下)。用於文件輸出校驗,要麼——校驗選項必須在效果或文件必須被轉移無鹹校驗和使用。看到-選擇-校驗一種選擇算法選擇
  • % f文件名(形式發送;無尾的「/」)
  • % G文件的GID(十進制)或「默認」
  • % h遠程主機名(只提供一個守護進程)
  • 爲我詳細列表被更新
  • % L文件的字節長度
  • %L the string " -> SYMLINK", " => HARDLINK", or "" (where符號連接硬連接是一個文件名)
  • % m模塊名稱
  • %的M文件的最後修改時間
  • % N名(簡稱;尾」/「在目錄)
  • %o the operation, which is "send", "recv", or "del." (the latter includes the trailing period)
  • %p the process ID of this rsync session
  • % P模塊路徑
  • %T當前日期時間
  • %的認證用戶名或空字符串
  • %u文件的UID(十進制)

For a list of what the characters mean that are output by "%i", see the--itemize-changes在manpage rsync的期權。

值得注意的是,一些記錄的輸出變化與olderrsync版本說話的時候。例如,刪除的文件只輸出是rsync 2.6.4以前verbosemessages。

 

 

 

超時
此參數容許你覆蓋客戶選擇I/O超時此模塊。使用此參數能夠確保rsync不會永遠等待一個死了的客戶。指定的秒timeoutis。值爲零表示沒有超時,默認。匿名rsync守護進程的一個很好的選擇多是600(贈送10分鐘超時)。

 

 

拒絕選項
此參數容許你指定一個空間分隔的rsync命令行選項會被你拒絕,rsync守護進程列表。您能夠指定完整的選項的名稱,它的一個字母的縮寫,或死卡字符串匹配多個選項。例如,這會拒絕 ——校驗C)和全部的variousdelete選項:

 

refuse options = c delete

上述的理由拒絕全部刪除的選項,選項意味着刪除,和隱含期權拒絕就像明確的選擇。做爲一個額外的安全功能,拒絕「刪除」,也不刪除源文件當守護進程是發送者;若是你想latterwithout前者,而拒絕「刪除」,拒絕一切刪除模式無影響刪除源文件

When an option is refused, the daemon prints an error message and exits.To prevent all compression when serving files,you can use "dont compress = *" (see below)instead of "refuse options = compress" to avoid returning an error to aclient that requests compression.

 

 

dont compress
此參數容許你基於通配符的模式,不該該compressedwhen從惡魔拉文件selectfilenames(沒有相似的參數存在治理推動文件到一個守護進程),在CPU使用率壓縮是昂貴的,因此一般是好的不要壓縮文件,不壓縮,如已壓縮文件。

「不壓縮」參數以空格分隔的列表不敏感的通配符模式案例。任何源文件名匹配一個模式不會被壓縮在轉移。

看到我跳過compress參數在遠程同步(一)對於未壓縮的默認列表的文件後綴的聯機幫助頁。指定一個值「不壓縮」參數變化時的守護是默認發件人。

 

 

 

預轉送exec後轉送exec
你能夠指定一個命令是runbefore和/或轉讓後。若是 預轉送exec命令失敗,纔開始交易停止。任何輸出從劇本到標準輸出(到幾KB)將顯示給用戶時終止,但NOTdisplayed若是腳本返回成功。任何輸出的腳本在stderrgoes的守護進程的標準錯誤,這一般是被丟棄的(雖然看不拆的選擇方式查看stderr輸出,這能夠幫助withdebugging)。

下列環境變量將被設置,雖然一些針對預傳輸或傳輸環境後:

 

  • rsync_module_name:該模塊所訪問的名字。
  • rsync_module_pathThe Path構型:for the模塊。
  • _ _ rsync的主機地址:訪問的主機的IP地址。
  • _ _ rsync的主機名稱:訪問主機的名字
  • _使用rsync _ name:訪問用戶的名字(空若是沒有用戶)。
  • _ rsync PID:獨特的number for this轉移。
  • rsync _ request:(預傳輸只)由用戶指定的模塊/路徑信息。值得注意的是,用戶能夠指定多個源文件中,因此請求能夠像「模式/模式/ 1 2」,等等。
  • _ Arg # rsync: (pre-xfer only) The pre-request arguments are set in these numbered values. RSYNC_ARG0 is always "rsyncd", followed by the options that were used in RSYNC_ARG1, and so on. 將有價值的」,「代表選項和路徑參數開始——這些包含相似的信息rsync_request,但與價值分離模塊名稱剝離。
  • rsync_exit_status:(後轉送只)服務器端的出口價值。這將是0的成功運行,爲一個錯誤,服務器生成一個正的值,或1若是rsync未能正常退出。注意,這發生在客戶端錯誤目前不被髮送到服務器端,因此這不是總體傳遞最終退出狀態。
  • rsync_raw_status:(後轉送只)原出口值waitpid()

即便這個命令能夠與一個特定的模塊相關,它們運行的用戶使用,開始了守護進程的權限(不是模塊的UID和GID設置)沒有任何chroot限制。

 

 

配置指令

There are currently two config directives available that allow a config file to incorporate the contents of other files: &include and &merge. Both allow a reference to either a file or a directory. They differ in how segregated the file's contents are considered to be.

The &include directive treats each file as more distinct, with each one inheriting the defaults of the parent file, starting the parameter parsing as globals/defaults, and leaving the defaults unchanged for the parsing of the rest of the parent file.

The &merge directive, on the other hand, treats the file's contents as if it were simply inserted in place of the directive, and thus it can set parameters in a module started in another file, can affect the defaults for other files, etc.

When an &include or &merge directive refers to a directory, it will read in all the *.conf or *.inc files (respectively) that are contained inside that directory (without any recursive scanning), with the files sorted into alpha order. So, if you have a directory named "rsyncd.d" with the files "foo.conf", "bar.conf", and "baz.conf" inside it, this directive:

// 目前有兩個配置指令可用的配置文件與其它文件的內容:&include and &merge。Bothallow引用一個文件或一個目錄。他們在不一樣的howsegregated文件的內容是。

// 這個與包括指令將每一個文件更加鮮明,每一個oneinheriting的父文件的默認設置,啓動參數parsingas globals/defaults,離開默認不變的解析,其他的父文件。

// 這個與合併指令,另外一方面,對文件的內容進行簡單的插在阿西的指令,所以它能夠在一個模塊setparameters開始在另外一個文件,能夠影響其餘文件的默認值,等等。

// 當一個與包括與合併指令是指一個目錄,它將記錄全部* .conf*公司文件(分別),包含insidethat目錄(不anyrecursive掃描),與文件分爲α階。因此,若是你有一個目

// 錄名爲「rsyncd。D」和文件「foo conf」、「酒吧。會議」,和「巴茲conf」裏面,這個指令:

 

    &include /path/rsyncd.d 

將這套指令相同:

 

    &include /path/rsyncd.d/bar.conf
    &include /path/rsyncd.d/baz.conf
    &include /path/rsyncd.d/foo.conf 

除了它調整的文件添加和從目錄中刪除。

的優點與包括指令,你能夠定義一個或moremodules在一個單獨的文件,而沒必要擔憂反作用獨立的模塊文件。

的優點與合併指令是能夠加載配置snippetsthat能夠分紅多個模塊的定義,你也能夠設置 global值 會影響鏈接(如motd file),或 globals 會影響其餘包含文件。

例如,這是一個有效的/etc/rsyncd.conf文件:

 

    port = 873
    log file = /var/log/rsync.log
    pid file = /var/lock/rsync.lock

    &merge /etc/rsyncd.d
    &include /etc/rsyncd.d 

這將合併任何 /etc/rsyncd.d/*.inc 文件(for global values that should stay in effect)包括任何 /etc/rsyncd.d/*.conf 文件(沒有任何global-value cross-talk)。

 

認證強度

使用rsync的認證協議是一個128位的MD4 basedchallenge響應系統。這是至關弱的保護,雖然(至少一個強力的哈希算法公開的發現),若是你真的想要高質量的安全,那麼我建議你runrsync ssh。(是的,將來版本的rsync將切換到更強的哈希方法。)

Also note that the rsync daemon protocol does not currently provide anyencryption of the data that is transferred over the connection. Onlyauthentication is provided. 使用ssh做爲運輸若是你wantencryption。

rsync的將來版本可能支持SSL更好的認證和加密,但仍在調查中。

 

實例

一個簡單的rsyncd.conf文件,容許匿名rsync FTP區/home/ftp將:

 

[ftp]
        path = /home/ftp
        comment = ftp export area

一個更復雜的例子是:

 

uid = nobody
gid = nobody
use chroot = yes
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid

[ftp]
        path = /var/ftp/./pub
        comment = whole ftp area (approx 6.1 GB)

[sambaftp]
        path = /var/ftp/./pub/samba
        comment = Samba ftp area (approx 300 MB)

[rsyncftp]
        path = /var/ftp/./pub/rsync
        comment = rsync ftp area (approx 6 MB)

[sambawww]
        path = /public_html/samba
        comment = Samba WWW pages (approx 240 MB)

[cvs]
        path = /data/cvs
        comment = CVS repository (requires authentication)
        auth users = tridge, susan
        secrets file = /etc/rsyncd.secrets

/etc/rsyncd.secrets 文件格式是這個樣子:

 

tridge:mypass
susan:herpass

 

配置文件

/etc/rsyncd.conf or rsyncd.conf

 

參見

遠程同步(1)

 

診斷

 

漏洞

請報告錯誤!rsync的bug跟蹤系統是在網上http://rsync.samba.org/

 

版本

這個是rsync 3.1.3的幫助文檔。

 

積分

rsync是GNU通用公共許可證下發布。詳細內容見filecopying。

rsync主FTP站點是ftp://rsync.samba.org/pub/rsync.

一個網站是可用的http://rsync.samba.org/

咱們會很高興聽到你,若是你喜歡這個程序。

本程序使用zlib壓縮讓loupgailly和Mark Adler寫的圖書館。

 

感謝

感謝Warren Stanley最初的想法和補丁的rsyncdaemon。感謝Karsten Thygesen爲他的許多建議和文件!

 

做者

rsync是由Andrew Tridgell和Paul Mackerras寫的。不少人後來促成了它。

爲支持和開發郵件列表可在http://lists.samba.org

相關文章
相關標籤/搜索