Scp

scp 強制覆蓋只讀文件

  • May 12, 2017

我想用來scp移動一些文件並覆蓋目標伺服器上這些文件的任何現有實例。其中一些可能是只讀的,當然,它們會scp因“權限被拒絕”而失敗。我似乎找不到;的--force類型開關 scp這可能嗎?

我知道,rsync但這目前在目標伺服器上不可用。

如果您沒有寫入權限,則無法修改/覆蓋任何文件,並且沒有任何可能的scp選項可以改變它。

為了解決它,您應該首先連接到伺服器(ssh例如使用)並修改文件的權限。如果你不知道怎麼做,這裡有一個簡單的命令可以解決問題:

chmod +w /path/to/your/file

幾點注意事項:

  • 這些文件是只讀的可能是有原因的。在做任何事情之前,請確保您知道原因,並且更改此設置不會破壞任何內容或引入安全漏洞。
  • 如有必要,您可以在執行scp命令後刪除寫權限(使用此:)chmod -w /path/to/file
  • 如果具有隻讀權限的文件太多,則需要查找它們。find(至少大多數 Linux 發行版中可用的 GNU 版本)有一個-perm您可以使用的測試(man find了解更多資訊)。
  • 有人可能會建議您以 root 身份連接或使用sudo. 它會起作用,但看在上帝的份上,不會。我不能開始​​告訴你這將是多麼錯誤。

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