rsync配置中的auth error,一个隐秘的错误
我们都知道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,一个隐秘的错误的更多相关文章
- Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19
ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前置服务器,IIS利用httpPlatformHandler模块来对后台的一些web ...
- mappers:将sql映射注册到全局配置中
<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 --> <!-- 6.mappers: ...
- asp.net中当服务器出错时显示指定的错误页面
http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常. ...
- 转 一个web项目web.xml的配置中<context-param>配置作用
一个web项目web.xml的配置中<context-param>配置作用 <context-param>的作用:web.xml的配置中<context-param& ...
- 一个web项目web.xml的配置中<context-param>配置作用
<context-param>的作用: web.xml的配置中<context-param>配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件 ...
- action中redirectAction到另一个命名空间中的action该如何配置
action中redirectAction到另一个命名空间中的action该如何配置,请注意namespace这儿必须是/global,而不是global,要不然找不到此action的
- 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' ...
- rsync配置
一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...
- Linux上rsync配置
一.服务器端配置1.rsyncd.conf文件说明uid = rsync #用户,用来控制用户访问模块目录的读写权限gid = rsync #组,用来控制组访问模块目录的读写权限use ...
随机推荐
- CART
一.为什么有CART回归树 以前学过全局回归,顾名思义,就是指全部数据符合某种曲线.比如线性回归,多项式拟合(泰勒)等等.可是这些数学规律多强,硬硬地将全部数据逼近一些特殊的曲线.生活中的数据可是千变 ...
- Oracle 触发器,事物
触发器:自动执行,可以实现表的约束. 1.行级触发器: CREATE OR REPLACE TRIGGER del_deptid AFTER DELETE ON deptment --触发器条件 DE ...
- dos快速通道
要在文件夹的右键菜单中添加“命令提示符”选项.在注册表HKEY_CLASSES_ROOT\Directory\shell分支下新建一项“CommandPrompt”,修改右侧窗格中的“默认”键值为“命 ...
- python解析smart结构数据
python编程解析如下smart结构数据,得到一行smart信息 run: smartctl -a /dev/sda out: smartctl 6.3 2014-07-26 r3976 [x86_ ...
- 解决github push错误The requested URL returned error: 403 Forbidden while accessing
来源:http://blog.csdn.net/happyteafriends/article/details/11554043 github push错误: git push error: The ...
- Java--接口和类集框架
一.接口 接口是静态常量和抽象方法的集合.也就是说,接口中只能有静态常量和抽象方法. public interface Pet { public static final int A = 10; pu ...
- Log4J 使用实战
前言: 日志在开发和服务中扮演重要的角色, 有人用来追查/分析问题, 有人通过日志, 来记录重要的信息. 日志是数据分析和统计最重要的数据来源. 在Java领域, Log4j日志框架成为java开发人 ...
- db2 存储过程 语法 及结果集查询
第一次用存储过程,关于处理待办的,不知道怎么执行和传参数 给存储过程 ,其实就一句话很简单. @call PRC_MISSIONLIST_QUERY('27020214', '27040000', ' ...
- 331. Verify Preorder Serialization of a Binary Tree
One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, ...
- java for each 错误
简而言之,for each 适用于不改变数组,容器元素的场合,如果改变,必须用索引或者iterator. 例如: A[] arrayA = new A[5]; for (A a : arrayA) { ...