rsync配置中的auth error,一個隱祕的錯誤

咱們都知道rsync是linux自帶的功能強大的文件同步協議。 爲了作免密碼文件同步,因此,有多種配置。可是種種配置中,可能會遇到一個讓人很糾結的問題,那就是安全認證錯誤的問題!linux

這個配置,是基於rsync daemon的應用,主要是爲了方便應用程序操做的方便。nginx

 

這個問題,有多是密碼錯誤,有多是daemon端的祕鑰文件權限不是600,等等。我這裏不是說這些問題,我要說的是一個很是讓人抓狂的問題,就是rsyncd.conf文件裏面的空格形成的認證失敗的問題。tomcat

 

先看配置文件:安全

 1 uid = nginx 
 2 gid = nginx
 3 pid file=/var/run/rsyncd.pid
 4 log file=/var/log/rsyncd.log
 5 secrets file = /etc/rsyncd.secrets
 6 auth users = cmsuser
 7 
 8 [cms]
 9 path = /
10 read only = no

直接看上面的配置,是否是以爲沒有什麼問題?app

 

測試看看吧,日誌:測試

1 [tomcat@p0-tkonline-cms-app01 /u02/tomcat]$ rsync -avz -b tapp1 cmsuser@10.135.88.11::cms/olnfsdta/TK_ROOT
2 @ERROR: auth failed on module cms
3 rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

這個是否是就是問題了?爲什麼仍是報錯呢? 不細心的人,可能抓破腦殼都不知道問題在哪!我也是呵呵,也只能呵呵一下!ui

 

我因爲配置linux相關的服務,遇到奇葩問題多了,曾近就發現過是配置文件中有空格形成的問題,因而乎,我也懷疑這裏有空格的問題,因此, 將配置文件打開一看,逐個去找哪有看不見的空格。看看下面的圖:spa

將鼠標挪到uid的最後一個字符處,就發現了一個空格。。。繼續檢查,將其餘的字符串尾部的空格都去掉。而後重啓rsync daemon。再次傳遞文件,吼吼,OK了!3d

 

總結: rsync的daemon啓動模式下,rsyncd.conf的配置文件,必須謹記,每一行配置最後不能有空格,尤爲是像auth users這一行不能有空格,uid,gid等也不能有空格! linux的配置,有好些都要當心,一個好的配置習慣,就是儘可能寫規範,不要引入沒必要要的空格,更不要搞出中文的空格或標點符號!日誌

相關文章
相關標籤/搜索