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を実行します

tar -czvf folder.tar.gz /a_folder

それを抽出したら

tar -xvf folder.tar.gz

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

setfacl --restore=folder.acl

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

答え3

tarの使用

作成するには:

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

解凍するには:

tar --acls -xpf backup.tar

答え4

使用することをお勧めしますbsdtar

bsdtar デフォルトで拡張ACLをバックアップする、それは同じ構文としてGNU tar実行され、生成されたアーカイブは で読み取り可能ですGNU tar

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

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

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

関連情報