如何使用 sudo 用户将文件从本地系统中的 /opt 目录复制到远程系统中的 /opt 目录

如何使用 sudo 用户将文件从本地系统中的 /opt 目录复制到远程系统中的 /opt 目录

我有一台 Redhat 机器,在 /opt 目录下有一些文件。我想使用 rsync 命令将这些文件复制到远程机器 /opt 目录中。条件是我使用的是属于 wheel 组的管理员用户。

我尝试按照命令来传输文件,但出现权限被拒绝错误。

#rsync -avz -e "ssh -t" /opt/*.txt admin@ip:/opt

当我运行此命令时,我收到了这样的错误您遇到的错误消息 mkstemp“/opt/test.txt”失败:权限被拒绝(13) 表示 rsync 进程正在尝试在目录(/opt)中创建一个临时文件(test.txt),但它没有必要的权限。

有人知道如何处理吗

答案1

你试过使用 scp 语法如下

scp /opt/文件名.txt[电子邮件保护]:/选择

这里root是root用户名,请使用有sudo权限的用户。filename.txt是文件的名称

如果远程计算机中存在同名文件,请考虑在执行操作之前重命名它。

如果这不起作用,请先将文件复制到临时文件夹,然后将其复制到本地 opt。

答案2

首先,检查管理员用户是否具有 /opt 目录传输数据的必要权限。然后重试。

ls -ld /opt

使用此命令检查/opt目录的权限

答案3

如果我们提供 /opt 目录的完整权限,那么它就可以正常工作 chmod -R /opt然后使用rsync -avz -e "ssh -t" /opt/*.txt admin@ip:/opt,未经许可,/opt 目录不允许从其他用户复制文件,因为它具有 root 所有权。

这就是我所学到的。

相关内容