我有一台 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 所有权。
这就是我所学到的。