--w-------
権限が200の一部のファイルを含むディレクトリツリーを含むファイル属性を維持しながら、ディレクトリを繰り返しコピーしたいと思います。
コピーコマンドはcp -ar sourcedirectory targetdirectory
これらのファイルをスキップし、各ファイルは次のようになります。
cp: cannot open `sourcedirectory/foo/somefile.bar' for reading: Permission denied`
私の質問:権限を変更せずにコピーコマンドがこれらのファイルをスキップするのを防ぐにはどうすればよいですか?
cp
コピーコマンド以外のユーティリティを使用する必要があると思う場合は、その理由を説明してください。
ベストアンサー1
ファイルをコピーするには、ファイルを読み取れるように設定する必要があります。これはツールの選択とは関係ありません。ファイルを読み取る権限がないため、すべてのプログラムがファイルを開いて読み取ることができません。
もしACL有効になっていて(ext2 / ext3 / ext4の場合はマウントオプションが必要ですacl
)、コピーに興味がない場合は、コピーを実行しているユーザーがファイルを読み取ることを許可するACLを追加してください。
setfacl -R -m u:username:rX sourcedirectory
それ以外の場合は、ファイル権限を事前に変更し、後で復元するか(両方とも)ルートにコピーする必要があります。