Shell

嘗試使用 Sudo 使用者複製

  • September 14, 2020

我有一個“超級使用者”,它對 /opt/example 文件夾具有寫權限。我有一個名為“user”的普通使用者,它對 /opt 具有讀取權限,而“user”有一個目錄 /home/user/example。“使用者”具有 sudo 權限。我想將整個範例文件夾從“/home/user/example”複製到“/opt/example”。我已經嘗試了現有執行緒中的以下選項,但沒有一個有效。

在linux中將文件從使用者複製到另一個

ssh SuperUser@xx.xx.xx.x '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

我相信我在這裡遺漏了一些東西。有人可以糾正我嗎?

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同樣地

引用自:https://unix.stackexchange.com/questions/609310