rsync
ServerAから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を使用したい場合は、sudo
withを使用して呼び出すことができますが、ファイルから削除するとスキップできることに注意してください。rsync
--rsync-path="sudo rsync"
require TTY
Defaults requiretty
sudoers
自分が所有していないアイテムの権限を変更するには、所有していsudo
ない権限を使用する必要があります。root
setuid
それともonを設定するなどの他の方法はありますかchmod
?誰でも を として実行chown
できますが、そうなります。chmod
chown
root
ひどい。