現在、このフォルダにアクセスする権限がありません。

現在、このフォルダにアクセスする権限がありません。

次のコードを使用して、既存のコンポーネントフォルダのhtmlファイルのみを含むビルドフォルダにフォルダ(名前:コンポーネント)をビルドしようとしています。

find components -iname "*.html" -exec rsync -R {} ./build/ ';'

コンポーネントフォルダの構築

完全に実行され、コンポーネントがビルドフォルダにビルドされますが、コンポーネントフォルダにアクセスすると、次のエラーが発生します。

エラーが発生しました

フォルダへのアクセスを繰り返し付与する必要がないように、永続的なソリューションを探しています。

指定したコードに追加してフォルダを自動的に認証できます。

答え1

rsyncコピーされたファイル/ディレクトリのプロパティを保存することを目的とした多くのオプションがあります。ソースファイルに必要な権限があると仮定した場合は、権限保存フラグ(--permsまたは-p)を使用してください。

ソースファイルに必要な権限がない場合は、この--chmodフラグを使用してターゲットファイル/ディレクトリの権限を必要に応じて設定できます。これを行うには、--perms.chmodフラグもchmod(1)コマンドに似た引数を使用しますが、ディレクトリまたはファイルに対してのみ権限を指定できるように拡張する必要があります。たとえば、所有者にのみファイルへの書き込み権限を付与しますrsync --perms --chmod Fu+w。 (少なくとも)ディレクトリに対する実行権限がないようですので、--chmod D+x初心者を試してみてください。

(コピーしたファイルの所有者が正しく設定されているとします。そうでない場合は、--chown=USER:GROUP使用可能なフラグがあります。)

注:私はあなたが提供した限られた情報で作業しています。上記がわからない場合は、ターゲットls -laディレクトリのいずれかを実行して結果を質問に投稿してください。

関連情報