Rsync - ユーザーとして訴えたりログインしなくても、ユーザー、グループ、および権限を保存しますか?

Rsync - ユーザーとして訴えたりログインしなくても、ユーザー、グループ、および権限を保存しますか?

処理するには、一部のファイルをリモートホストに自動的に(スクリプト経由で)rsyncする必要があります。ただし、ユーザー、グループ、およびファイル権限を処理するには、ホスト全体で永続化する必要があります。

これは自動化されているため、パスワードを入力できません。 rsyncを実行しているユーザーのSSHキーがすでに存在している必要があります。ファイルの所有者はルートなので、スクリプトを所有者として実行することはできません(したがって、ルートSSHキーを保存できません)。したがって、スーパーユーザーとして実行することはできません。

また、ファイルの権限は440(root:groupImNotIn)です。

とりわけ、両方のシステムが本番段階にあるため、両方のホストのいずれかを変更すること(xattrsを開くことができず、setgidを使用できず、umaskを変更できないなど)は問題になりません。

これを行う方法はありますか?

ベストアンサー1

これを達成する方法を見つけました。/etc/sudoers受信側で<user> ALL=NOPASSWD:/usr/bin/rsyncパスワードのない機能を有効にするには、受信者を追加してください。sudo rsyncしたがって、転送されたファイルのすべての権限/所有者/グループが保存されます。使用されるrsyncコマンドは次のとおりです。

rsync -aviL <file> <user>@<destination>:<directory> --rsync-path="sudo rsync"

以前のユーザーのためにSSHキーを保存すると、パスワードを入力したり、ルートSSH接続を確立したりすることなく、すべてのファイル転送が自動的に完了することがあります。

ただし、このアプローチはリモートスーパーユーザーrsyncにセキュリティ上の問題を引き起こします。

おすすめ記事