私はGNUを使ってtar
ネットワークドライブに保存されているディレクトリからtarballを作成しようとしています。このネットワークドライブは、保存されているすべてのコンテンツに対してデフォルトモード0700
()に設定されており、-rwx------
tarballが作成されるまで変更できません。
次のコマンドを使用して、tarballに保存されているファイルの権限を変更しました。
tar -c --mode=0644 -f project.tar ./project/
問題は、タールボールのすべての権限が0644
(-rw-r--r--
)に変更されることです。このディレクトリには実行可能ファイルがないため、./project/
すべて0644
文書それは問題ではありません。しかし目次結局0644
私はそれを受け継いだ。他のシステムから抽出する場合は、実行ビットが追加されるまでディレクトリに入ることはできません。
tar
GNUにすべてのモードを変更するように指示することは可能ですか?文書0644
すべてのモードを変更してみてください目次到着する0755
?コマンドのとほぼ同じです-type f
。-type d
find
オペレーティングシステムはDebian 11 Bullseyeバージョンで、GNUtar
バージョンは1.34です。
ベストアンサー1
そして牛に似た一種の栄養tar
、あなたはできます:
tar --mode a=r,u+w,a+X -cf file.tar directory
これにより、rwxr-xr-x
ディレクトリタイプファイルだけでなく、rw-r--r--
他のすべての種類のファイル(シンボリックリンクとディレクトリを含む)も提供されます。これは次のように構成されます。
a=r
:特権リセットr--r--r--
u+w
:serw
に追加されたのでu
rw-r--r--
a+X
:llx
に追加されますが、a
ディレクトリタイプファイルにのみ追加されるrwxr-xr-x
ため、ディレクトリとrw-r--r--
他のすべての種類のファイルで機能します。
完全な柔軟性のために、以下を使用できます。star
:
star cf file.tar -find directory \
-type d -chmod 755 \
-o -type l -chmod 777 \
-o -chmod 644
rwxr-xr-x
ディレクトリタイプファイルd
、rwxrwxrwx
シンボルインクタイプファイルl
、rw-r--r--
その他の種類のファイルはどこで入手できますか?
または、シンボル形式を使用します。
star cf file.tar -find directory \
-type d -chmod a=rx,u+w \
-o -type l -chmod a=rwx \
-o -chmod a=r,u+w