rsync 密钥文件错误问题总结
rsync 可以使用 --password-file 选项指定密钥文件,密钥文件中简单存放 rsync 密码;在第一次使用密钥文件的时候经常遇到文件权限相关问题;这里总结一下,我遇到的问题。
问题描述
在开发环境下,手动执行 python ccmcx_tdw_data_sync.py,执行前还确保了 rsync.secret 具体读写权限,chmod u+rw rsync.secret,执行正常;后面将脚本加入 crontab,
运行报错:password file must be owned by root when running as root
简单的处理,让所有用户都有权限读写:chmod a+rw rsync.secret;运行报错:password file must not be other-accessible
结论
password file must be owned by root when running as root:后面检查发现,每个用户都有自己的crontab,而我是以root用户设置crontab任务的,因此执行脚本的用户也是root,看第一个报错是因为 file owner 不是root,chown root rsync.secret简单解决;password file must not be other-accessible:可以看出rsync对密钥文件管理的严格,owner 不仅仅要求是 run user,而且读写权限需要做收敛,不能被其他用户读写,执行chmod o-rw rsync.secret从这里可以看出
rsync对密钥文件的管理原则:密钥文件的拥有者只能是运行命令的用户,且只能由拥有者读写,这样文件就为运行用户专属了,其他普通用户不能通过密钥文件传输文件或者读写密钥文件了一个题外话:每个用户都有自己的
crontab,crontab不在一个配置文件中,运维难以管理,大部分的crontab都会由运维统一放在 root 的crontab下,除此之外,还可以直接在/etc/crontab文件中添加,不过需要是root身份。这个文件的crontab与用户的不太一样,可以指定运行命令的用户,这样的一个好处是:运维方便管理,而且可以指定运行命令的用户,普通用户的环境变量等相关信息不需要对齐到root。
rsync 密钥文件错误问题总结的更多相关文章
- 解决Visual Studio 2010 “无法导入以下密钥文件” 错误
错误原文: "错误 1 无法导入以下密钥文件: SamplePlugin.pfx.该密钥文件可能受密码保护.若要更正此问题,请尝试再次导入证书,或手动将证书安装到具有以下密钥容器名称的强名称 ...
- 解决Visual Studio “无法导入以下密钥文件”的错误
错误1无法导入以下密钥文件: Common.pfx.该密钥文件可能受密码保护.若要更正此问题,请尝试再次导入证书,或手动将证书安装到具有以下密钥容器名称的强名称 CSP: VS_KEY_ 1110Co ...
- 使用Rsync进行文件的同步与备份
Rsync是Linux下非常不错的文件同步备份工具,安全性高.备份迅速.支持增量备,功能强大且高效. 服务端配置 Rsync服务的配置文件/etc/rsyncd.conf,示例配置(带用户名密码配置) ...
- .NET使用OpenSSL生成的pem密钥文件
NET要使用OpenSSL生成的pem密钥文件,网上资料很少(http://www.faqs.org/rfcs/rfc1421.html,RFC1421文件又老长老长),仅有的资料还是有错误的,所以今 ...
- rsync+inotfiy文件同步
rsync+inotfiy文件同步 1.部署rsync服务 yum install rsync #安装rsync,如果嫌yum版本过低也可以源码安装 2.vim /etc/rsyncd.conf #默 ...
- rsync+inotify文件同步 - 同步慢的问题
rsync+inotify文件同步 - 同步慢的问题 我们来看网上的教程,我加了注释.(网上所有的教程基本都一模一样,尽管写法不一样,致命点都是一样的) #!/bin/bash /usr/bin/in ...
- Linux下简单粗暴使用rsync实现文件同步备份【转】
这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
- JSCH通过密钥文件进行远程访问
需求:WEB app 需要使用JSCH来通过密钥文件的方式进行SFTP/SSH访问远程LINUX机器 实现方式:假设远程机器都含有用户名为hadoop的用户,因为密码因为策略的要求密码会随时间发生变化 ...
随机推荐
- 高通 MSM8K bootloader : SBL1 .
一. MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.MSM8916.MSM8994等,会有微小区别. 从上图,可以看 ...
- shell的字符串和数字的转化(数字自动做字符串处理,变量名做字符串输出用单引号)
shell里面怎么样把字符串转换为数字? 例如:a="024" 1,用${{a}} 2,用let达到(()) 运算效果. let num=0123; echo $num; 83 3 ...
- 《java入门第一季》之类String类小案例
案例一: /* * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: * int[] arr = {1,2,3}; * 输出结果: * "[1, 2, 3]" * 分 ...
- Swift的基础之UILabel控件
对于UILabel的相关内容,其他控件可以相似创建 //设置全局变量,将下面的 let 去掉,然后替换即可 //var myLabel = UILabel(); //系统生成的view ...
- 某集团BI决策系统建设方案分享
企业核心竞争能力的提升,需要强壮的运营管理能力,需要及时.准确.全面的业务数据分析作为参考与支撑. 某集团是大型时尚集团,内部报表系统用的QlikView,但是管理分配不够灵活,不能满足数据安全的要求 ...
- workbench的schema讲解一:(维度dimension设置的基本内容)
维度名字尽量用英文:因为,saiku读取schema配置文件时,用中文会出现不可预知的错误.比如,引用维度用中文,就容易出现不可预估的错误.如果要显示中文:每个对象的caption字段里键入中文,则可 ...
- Linux常用命令(第二版) --帮助命令
帮助命令 1.man[manual]: /usr/bin/man 获得命令或配置文件的帮助文档,优先查看命令的帮助 格式:man [命令或配置文件] #会同时调用more E.g. man ls # ...
- android的Devices窗口中Online显示成Offline
这种情况几率很低,如果出现,点击Reset adb就好了.
- OAF更改动态头行
选择头信息,动态刷新行信息.本文将详细介绍该种需求的做法. 本例沿用<OAF-头行结构>的am与vo,所以在进行本例之前,请先完成<OAF-头行结构> 一.创建页面 在test ...
- Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路
Android ROM开发(三)--精简官方ROM并且内置ROOT权限,开启Romer之路 相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提示了,这里我们下载一个官方包,我们还 ...