我们都知道rsync是linux自带的功能强大的文件同步协议。 为了做免密码文件同步,所以,有多种配置。但是种种配置中,可能会遇到一个让人很纠结的问题,那就是安全认证错误的问题!

这个配置,是基于rsync daemon的应用,主要是为了方便应用程序操作的方便。

这个问题,有可能是密码错误,有可能是daemon端的秘钥文件权限不是600,等等。我这里不是说这些问题,我要说的是一个非常让人抓狂的问题,就是rsyncd.conf文件里面的空格造成的认证失败的问题。

先看配置文件:

 uid = nginx
gid = nginx
pid file=/var/run/rsyncd.pid
log file=/var/log/rsyncd.log
secrets file = /etc/rsyncd.secrets
auth users = cmsuser [cms]
path = /
read only = no

直接看上面的配置,是不是觉得没有什么问题?

测试看看吧,日志:

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

这个是不是就是问题了?为何还是报错呢? 不细心的人,可能抓破脑袋都不知道问题在哪!我也是呵呵,也只能呵呵一下!

我由于配置linux相关的服务,遇到奇葩问题多了,曾近就发现过是配置文件中有空格造成的问题,于是乎,我也怀疑这里有空格的问题,所以, 将配置文件打开一看,逐个去找哪有看不见的空格。看看下面的图:

将鼠标挪到uid的最后一个字符处,就发现了一个空格。。。继续检查,将其他的字符串尾部的空格都去掉。然后重启rsync daemon。再次传递文件,吼吼,OK了!

总结: rsync的daemon启动模式下,rsyncd.conf的配置文件,必须谨记,每一行配置最后不能有空格,尤其是像auth users这一行不能有空格,uid,gid等也不能有空格! linux的配置,有好些都要小心,一个好的配置习惯,就是尽量写规范,不要引入不必要的空格,更不要搞出中文的空格或标点符号!

rsync配置中的auth error,一个隐秘的错误的更多相关文章

  1. Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19

    ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前置服务器,IIS利用httpPlatformHandler模块来对后台的一些web ...

  2. mappers:将sql映射注册到全局配置中

    <!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 --> <!-- 6.mappers: ...

  3. asp.net中当服务器出错时显示指定的错误页面

    http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常. ...

  4. 转 一个web项目web.xml的配置中<context-param>配置作用

    一个web项目web.xml的配置中<context-param>配置作用   <context-param>的作用:web.xml的配置中<context-param& ...

  5. 一个web项目web.xml的配置中<context-param>配置作用

    <context-param>的作用: web.xml的配置中<context-param>配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件 ...

  6. action中redirectAction到另一个命名空间中的action该如何配置

    action中redirectAction到另一个命名空间中的action该如何配置,请注意namespace这儿必须是/global,而不是global,要不然找不到此action的

  7. f-stack中nginx配置后make出现error: ignoring return value of ‘ftruncate’

    问题 Nginx 配置后 make 出现error: src/os/unix/ngx_process_cycle.c: In function 'ngx_start_worker_processes' ...

  8. rsync配置

    一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...

  9. Linux上rsync配置

    一.服务器端配置1.rsyncd.conf文件说明uid = rsync     #用户,用来控制用户访问模块目录的读写权限gid = rsync     #组,用来控制组访问模块目录的读写权限use ...

随机推荐

  1. 【题解】【区间】【二分查找】【Leetcode】Insert Interval & Merge Intervals

    Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...

  2. 主机控制器接口(HCI)

    主机控制器接口(HCI)提供了一种访问蓝牙硬件能力的通用接口. HCI固件通过访问基带命令.链路管理器命令.硬件状态寄存器.控制寄存器以及事件寄存器实现对蓝牙硬件的HCI命令. HCI是通过包的方式来 ...

  3. 设置SAPgui自动退出功能

    当客户端长时间没有使用时,为了不占用SAP服务器的资源,我们可以设置当客户端在一段时间没有 进行操作时自动退出SAP系统. 设置步骤如下: 用Tcode rz10打开参数配置窗口,选择你当前的实例参数 ...

  4. java正则表达式 非捕获组详解

    这几天看了下正则表达式,对非捕获组(non-capturing)进行下总结.主要总结 1个 + 2组  一共5个.(?:X) (?=X) (?<=X) (?!X) (?<!X) 一.先从( ...

  5. php部分---对数据的多条件查询,批量删除

    1.给多条件查询,添加条件 <h1>新闻信息查看</h1> <?php $tiaojian1=" 1=1"; $tiaojian2=" 1= ...

  6. PPT图片快速编辑技巧

    修改*.ppt或*.pptx的后缀名为zip 例如:demo.pptx修改为demo.zip 修改为, 使用压缩软件打开此压缩包, 一般图片资源都会存放在ppt/media下 找到你所要修改的图片,然 ...

  7. java 四种内部类和内部接口

    /** * 常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. * 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法. * 2.在常规内部类中可以直接用内部类创建对象 * ...

  8. UNDERSTANDING POSTGRESQL.CONF: CHECKPOINT_SEGMENTS, CHECKPOINT_TIMEOUT, CHECKPOINT_WARNING

    While there are some docs on it, I decided to write about it, in perhaps more accessible language – ...

  9. Page cache和Buffer cache[转1]

    http://www.cnblogs.com/mydomain/archive/2013/02/24/2924707.html Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的 ...

  10. ABBYY PDF Transformer+从文件选项中创建PDF文档的教程

    可使用OCR文字识别软件ABBYY PDF Transformer+从Microsoft Word.Microsoft Excel.Microsoft PowerPoint.HTML.RTF.Micr ...