Permissions

rsync 權限僅適用於擁有的文件

  • January 4, 2020

我的伺服器上有一個目錄,多個使用者使用 rsync 將他們的數據複製到該目錄。所有使用者都使用這些選項-a -h -v。所有使用者都在用於此目錄的同一組中。所有使用者都通過 NFS 掛載共享並在“本地模式”下使用 rsync。在同步 rsync 的輸出時顯示幾個錯誤:

rsync: failed to set permissions on <path>: Operation not permitted (1)

這發生在執行 rsync 的使用者不是所有者的那些文件上。這種行為是正確的,因為只有所有者才能更改權限。我想防止將錯誤發佈到日誌中,因為很難在同步中檢測到“真實”錯誤。如何防止 rsync 對執行使用者不是所有者的文件設置權限?

這個問題與此類似:Setting permissions with rsync only if the file isowned by the user although i don’t use --chmodoption and this question only applicable to existing files。

編輯1:這依賴於所有者的事實是我的解釋。所有顯示此錯誤的文件都歸其他人所有。此外,我的機器上不存在此使用者。因此,當我通過 檢查目錄時ls -al,我只看到 UID,而不是使用者名。這可能是個問題嗎?伺服器和所有客戶端上的 UID 都是相同的。

編輯 2:添加了有關 rsync 本地模式的資訊

謝謝你們的評論。在使用建議的參數進行實驗期間,我發現了此錯誤消息的原因。我的問題不包括對此至關重要的資訊,因此無法猜測原因。

我重新檢查了所有目錄,發現文件不同步。顯示錯誤的文件在我的本地副本上歸我所有,在伺服器上歸另一個人所有。因此,我的 rsync 程序讀取了本地副本的所有權,並希望複製被(NFS)伺服器拒絕的使用者權限。

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