rsyncの権限を保持することを理解しています。ただし、私の場合、ローカルコンピューターには、Webサーバー用にファイルを配置するために必要なユーザーがありません。したがって、rsyncを実行するときは、所有者とグループがWebサーバー上でapacheである必要がありますが、ローカルコンピューターではユーザー名である必要があります。助言がありますか?
何をする必要があるのかを明確に説明したかったのです。
私のパソコン:ユーザーアカウント「michael」で「home」という名前私のウェブサーバー:ユーザーアカウント「remote」とユーザーアカウント「apache」で「server」という名前
現在の状況:私のウェブサイトは、所有者「michael」の「ホーム」と所有者「apache」の「サーバー」にあります。「home」はユーザー「michael」を使用する必要があり、「server」はユーザー「apache」を使用する必要があります
タスク:「ホーム」のウェブサイトを「サーバー」にrsyncしますが、すべてのファイルの所有者は「apache」とグループ「apache」になります
問題:rsyncは権限、所有者、およびグループを保持します。ただし、すべてのファイルをapacheの所有者にする必要があります。所有者を保持しないと、ユーザーの所有者が「サーバー」に配置されることはわかっていますが、そのユーザーは「リモート」であるため、「apache」の代わりにそれを使用します。ユーザー「apache」とrsyncすることはできませんが(これはいいでしょう)、セキュリティ上のリスクを冒したくありません。
解決する方法についての私の唯一のアイデア:rsync
手動でchown -R
それぞれchgrp -R
の後に、しかしそれは巨大なシステムであり、これは特にこれが本番環境に移行するため、長い時間がかかります。
誰かがこれを行う方法を知っていますか?
私が使用する現在のコマンドrsync
:
rsync --progress -rltpDzC --force --delete -e "ssh -p22" ./ remote@server.com:/website