我有一个“超级用户”,它具有 /opt/example 文件夹的写入权限。我有一个名为“user”的普通用户,它具有 /opt 的读取权限,“user”有一个目录 /home/user/example。 “用户”具有 sudo 权限。我想将整个示例文件夹从“/home/user/example”复制到“/opt/example”。我已经尝试了现有线程中的以下选项,但没有一个起作用。
ssh [email protected] 'sudo tar -C /home/example/ -czf - .' | tar -C /opt/example/ -xzf -
scp -r /home/example /opt/example/
sudo chown SuperUser /home/example
sudo -u SuperUser < /home/example sh -c 'cat > /opt/example'
cat ~/home/example | sudo -u SuperUser tee ~/opt/example >/dev/null
我相信我在这里遗漏了一些东西。有人可以纠正我吗?
答案1
root 帐户在复制时将保留文件的所有权,并且还可以读取所有文件并写入目标目录
sudo cp -a /home/user/example /opt/
如果目标/opt/example
已经存在,您可以使用它
sudo cp -a /home/user/example/. /opt/example/
你自己的尝试并不完全正确,因为......
ssh
用于连接到远程机器scp
用于复制到远程机器或从远程机器复制sudo chown
更改了目标目录的所有权但没有复制任何内容sudo ... cat
我不确定这里发生了什么cat | sudo
同样地
答案2
我建议你尝试一下
sudo cp -p -R /home/user/example /opt/example