私のサーバーには、複数のユーザーがrsyncを使用してデータをコピーするディレクトリがあります。これらのオプションはすべてのユーザーが利用できます-a -h -v
。すべてのユーザーは、このディレクトリで使用されているのと同じグループにあります。すべてのユーザーはNFS経由で共有をマウントし、「ローカルモード」でrsyncを使用します。 rsync 出力を同期すると、いくつかのエラーが表示されます。
rsync: failed to set permissions on <path>: Operation not permitted (1)
rsyncを実行しているユーザーはこれらのファイルで発生します。いいえ所有者。所有者だけが権限を変更できるため、この動作は正しいです。同期時に「実際の」エラーを検出するのは難しいので、エラーがログに投稿されるのを防ぎたいと思います。実行ユーザーが所有者以外のファイルに対してrsyncが権限を設定できないようにする方法は?
この質問は次のようになります。ユーザーがファイルを所有している場合にのみ、rsyncを使用して権限を設定してください。オプションは使用しませんが、--chmod
この質問は既存のファイルにのみ適用されます。
編集1:私の解釈は所有者によって異なります。このエラーを示すすべてのファイルは他の人の所有です。また、自分のコンピュータにユーザーが存在しません。したがって、ディレクトリを確認すると、ls -al
ユーザー名ではなくUIDのみが表示されます。これが問題になる可能性がありますか? UIDはサーバーとすべてのクライアントで同じです。
編集2:rsyncローカルモードに関する情報を追加する
ベストアンサー1
ご意見ありがとうございます。提案されたパラメータの実験中にこのエラーメッセージの原因が見つかりました。私の質問にはこれに関する決定的な情報は含まれていないので、原因を推測することは不可能です。
すべてのディレクトリを再スキャンしたところ、ファイルが同期されていないことがわかりました。エラーを示すファイルは私のローカルコピーで私が所有しており、サーバーは他の人が所有しています。したがって、私のrsyncプロセスはローカルコピーの所有権を読み取り、サーバーがユーザー権限を拒否するようにコピー(NFS)しようとします。