ディレクトリの権限を設定/維持するにはどうすればよいですか?

ディレクトリの権限を設定/維持するにはどうすればよいですか?

私は CwRsync を使用して、Windows 開発マシンから Linux Web サーバーに接続しています。

rsync -avuz -e ./ssh --exclude=".svn" /cygdrive/c/xampp/htdocs/project123/ [email protected]:/home/user123/public_html

これにより、開発プロジェクト ディレクトリがサーバーに適切かつ高速に同期されます。

しかし、これを実行すると、すべてのディレクトリ プロパティがローカル ユーザーuser123のみにリセットされるため、Web サイトは利用できなくなります。これらのプロパティを手動でリセットする必要があります。

なぜこのようなことが起こるのでしょうか、また、どうすれば防ぐことができるのでしょうか?

PS. Windows 環境から来たので、rsync を理解するのに本当に苦労しています。上記のコマンドをいくつかの例からコピーしました... この小さな 1 つも動作させる必要があります...

答え1

「プロパティ」が何を意味するかによって異なります。

  • 権限は?-p( )オプション--permsはそれらを保持するはずです。ただし、 を使用すると自動的に有効になる-aため、権限が失われた場合は CwRsync 自体が原因である可能性があります。

    Cygwinlsのとを使用してchmod地元権限は正しいです。または、--no-permsオプションを試してください。

  • 所有?Unixシステムでは、ユーザーはファイルの所有権を変更できません。 としてログインしてuser123ファイルを作成すると、そのファイルの所有者は になりますuser123。同様の制限がグループにも存在します。できるファイルのグループを変更しますが、自分自身がそのグループに属している場合のみです。

  • 他に何かありますか?

関連情報