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
。
最新文章
- CSS3动画第二式--组合动画
- form表单提交路径action=";"; 时的一种特殊情况
- Lucene4.3开发之分词器总结
- Oracle数据库表设计时的注意事项
- 网站开发中必备的8个 jQuery 效果【附源码】
- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:谢勤政-11061197,吴润凡-11061185
- hdu_5705_Clock(";巴卡斯杯"; 中国大学生程序设计竞赛 - 女生专场)
- javaWeb学习总结(10)- Filter(过滤器)学习
- 操作MP3文件的元数据
- linux:如何指定进程运行的CPU
- Beyas定理
- 以实例说明微服务拆分(以SpringCloud+Gradle)
- 基于 HTML5 的 WebGL 3D 档案馆可视化管理系统
- <;context:component-scan>;自动扫描
- WinCE全屏手写输入法
- libcurl库的编译
- Objective C 中的BOOL, bool, Boolean理解
- ci框架数据库相关函数
- P2579 [ZJOI2005]沼泽鳄鱼
- java.lang.NoClassDefFoundError: org/hibernate/validator/internal/engine/DefaultClockProvider
热门文章
- PCA与特征选取
- nginx 安装php
- Android源码浅析(二)——Ubuntu Root,Git,VMware Tools,安装输入法,主题美化,Dock,安装JDK和配置环境
- ";《算法导论》之‘线性表’";:双向循环链表
- 测试驱动开发TDD(test drive development)
- OpenCV+OpenCL stereo match 代码
- mac os x下Dreamweaver如何还原初始配置
- 解决IE7兼容H5新标签的方法
- Java不走弯路教程(5.Client-Server模式(2)-Client)
- 2018 ACM-ICPC World Finals B.Comma Sprinkler