rsync报错: Operation not permitted (1)

[rsync报错:rsync: chgrp “.initial-setup-ks.cfg.jaXlVz” (in backup) failed: Operation not permitted (1)]

问题背景:在配置好rsync服务和客户端后,客户端从服务端拉取是正常的,但从客户端推送到服务端报错。
a,单独推送目录会报这个错误
rsync: recv_generator: mkdir “opt” (in backup) failed: Permission denied (13)

[root@jxl ~]# rsync -avz aa.txt rsync_backup@192.168.81.230::backup
sending incremental file list
aa.txt
rsync: chgrp ".aa.txt.rn3eFN" (in backup) failed: Operation not permitted (1)

sent 96 bytes  received 125 bytes  442.00 bytes/sec
total size is 3  speedup is 0.01
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

如果从客户端向服务端推送目录和文件也报错rsync: chgrp “.backup.sh.RwFAWn” (in backup) failed: Operation not permitted (1)。但文件传过去了,目录并没有传过去

[root@nfs01:/opt]# rsync -avz /opt/ rsync_backup@192.168.81.230::backup
Password:
sending incremental file list
./
backup.sh
hejian.txt
services
rsync: chgrp ".backup.sh.RwFAWn" (in backup) failed: Operation not permitted (1)
rsync: chgrp ".hejian.txt.iLqEOb" (in backup) failed: Operation not permitted (1)
rsync: chgrp ".services.vxwJGZ" (in backup) failed: Operation not permitted (1)

sent 136,811 bytes  received 340 bytes  21,100.15 bytes/sec
total size is 697,812  speedup is 5.09
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

然后检查/backup目录的权限被修改成了550,原来设置的是755,然后把权限修改成755后再重新操作

[root@backup:/backup]# ls -ld /backup/
dr-xr-x--- 3 rsync rsync 312 Sep  1 07:54 /backup/
root@backup:/backup]# chmod 755 /backup/
[root@backup:/backup]# ls -ld /backup/
drwxr-xr-x 4 rsync rsync 324 Sep  1 08:03 /backup/

但修改完后再通过客户端同步,还是报上面的错,并且刚修改的目录权限又变成了550

从网上查询的说是selinux影响,但我检查两台服务器的selinux设置的都是disabled,防火墙也处于关闭状态

[root@backup:/backup]# getenforce
Disabled

经排查是由于-a参数导致的,因为-a是归档模式传输,并保持所有文件属性,等价于-rtopgDl(还没有具体深入研究),可以使用下面这个命令替代

[root@nfs01:/opt]# rsync -rltDvz /opt/ rsync_backup@10.0.0.41::backup

不用-a确实解决了,但是经过检查配置文件发现fake super配置参数写成了fake supper因此导致没有root权限。

因此使用-a必须具备fake supper = yes的配置参数才可以。

### 解决远程操作不被允许的问题 当遇到 `Operation not permitted` 错误时,通常是因为权限不足或配置不当引起的。针对不同场景下的解决方案如下: #### Ubuntu SSH 权限恢复 对于因权限问题导致无法通过SSH正常访问Ubuntu的情况,可以尝试重置相关文件夹和文件的权限[^1]。虽然具体的脚本未提供,但一般可以通过以下命令来修复常见的SSH权限问题: ```bash sudo chown -R $USER:$USER ~/.ssh sudo chmod 700 ~/.ssh sudo chmod 600 ~/.ssh/authorized_keys ``` #### Ansible Synchronize 模块错误处理 如果是在使用Ansible的Synchronize模块时遇到了权限拒绝(code 12),这可能是因为当前执行同步任务的用户不是目标路径的所有者或者是由于SELinux策略阻止了该动作的发生[^2]。 为了克服这个问题,可以在playbook中加入额外参数以确保有足够的权限来进行所需的操作,比如利用become指令切换到具有适当权限的账户下运行特定的任务: ```yaml tasks: - name: Sync files with proper permissions synchronize: src: /source/path/ dest: /destination/path/ become: yes become_user: root ``` 另外,在某些情况下调整rsync选项也可能有所帮助,例如设置archive模式并忽略现有属性: ```yaml synchronize: mode: pull rsync_opts: - '--no-p' - '-a' ``` #### Electron-Vue 应用程序中的权限修正 在开发基于Electron框架的应用过程中碰到类似的权限异常,则可能是由渲染进程试图执行受限API调用所造成的。一种推荐的做法是对涉及敏感操作的部分代码做兼容性判断,并仅在主进程中安全地触发这些行为[^3]。 修改后的逻辑片段如下所示: ```javascript if (!electron.remote && persistedState.subscribeOnChanges()) { // 执行订阅变化的动作... } ``` 以上方法分别适用于不同的技术栈和技术环境,具体应用取决于实际的工作流以及系统的具体情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiangxl~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值