リモートrsyncサーバーでsudoを強制する

リモートrsyncサーバーでsudoを強制する

rsyncServerAからServerBへのファイル転送を設定しており、タイムスタンプと権限を保持する必要があります。ここで重要なのは、ファイル所有者がファイル転送を実行したアカウントとは異なることです。

rsyncファイルを転送するには、次の例を使用します。

rsync -a /colorschemes/ [email protected]:/colorschemes/ --delete

この-aフラグは、次のタイプのエラーを生成します。

rsync: failed to set times on "/colorschemes/946/ex": Operation not permitted (1)
rsync: failed to set permissions on "/colorschemes/946/ex/blue.pdf": Operation not permitted (1)

リモートシステムでファイル権限を手動で設定しようとすると、acoderアカウントで同様のエラーが発生します。

[acoder@bu ~]$ chown apache:codingteam /colorschemes/946
chown: changing ownership of ‘/colorschemes/946’: Operation not permitted

しかし、これはうまくいきます。

[acoder@bu ~]$ sudo chown apache:codingteam /colorschemes/946

リモートrsyncでsudoを使用する方法はありますか?

答え1

リモートシステムでwithを使用したい場合は、sudowithを使用して呼び出すことができますが、ファイルから削除するとスキップできることに注意してください。rsync--rsync-path="sudo rsync"require TTYDefaults requirettysudoers

自分が所有していないアイテムの権限を変更するには、所有していsudoない権限を使用する必要があります。root

setuidそれともonを設定するなどの他の方法はありますかchmod?誰でも を として実行chownできますが、そうなります。chmodchownrootひどい

関連情報