ファイルをバックアップしてACLを保存するには、何を使用する必要がありますか?

ファイルをバックアップしてACLを保存するには、何を使用する必要がありますか?

tarユーティリティを使用してバックアップにファイルを保存すると、拡張ACLが失われます。

ACLを保存するための一般的でハッキングされていないソリューション(ACLを最初から再生成するスクリプト生成)はありますか?

答え1

実際、問題は(標準)ファイル権限ビットにはありません。拡大するACL情報(setfacl(1)またはacl(5)を参照)

私が知る限り、変更されていないGNU tarはACL情報を無視します。 (RHEL 5.2に付属のGNU tar 1.15.1のマニュアルページには、--aclsと--no-aclsスイッチが記載されていますが、まだ機能していません。)

しかし、選択した場合、プログラムはACLをバックアップおよび復元できます。エクサスターフォーマット:

star -c -p -acl artype=exustar -f archive.tar  files...
star -x -acl -f archive.tar

スターホームページ:http://cdrecord.berlios.de/new/private/star.html Starは少なくともUbuntuで利用可能です。

答え2

私も解決策を探しており、これまでこれを見つけました。

まず、私のフォルダからgetfactlを実行します。

getfacl -R /a_folder > folder.acl

その後、通常のタールを作成します。

tar -czvf folder.tar.gz /a_folder

私がそれを抽出するとき

tar -xvf folder.tar.gz

権限に対して setfacl 操作を実行します。

setfacl --restore=folder.acl

これは私にとって効果的です。

答え3

タールを使う

作る:

tar --acls -cpf backup.tar some-dir-or-file

解凍:

tar --acls -xpf backup.tar

答え4

私はあなたが使用することをお勧めしますbsdtar

bsdtar デフォルトのバックアップ拡張ACL、これ同じ構文asGNU tarで作成されたアーカイブを読み取ることができますGNU tar

パッケージとコマンド名(Debianベースのディストリビューションで)はbsdtar

bsdtar cf archive.tar /my/folder/using/extd_acl 
bsdtar xf archive.tar 

2番目(抽出)コマンドはACLを復元します。

関連情報